Checkpoint-VM

Creates a checkpoint of a virtual machine.

Syntax

Checkpoint-VM
          [-CimSession <CimSession[]>]
          [-ComputerName <String[]>]
          [-Credential <PSCredential[]>]
          [-Name] <String[]>
          [[-SnapshotName] <String>]
          [-AsJob]
          [-Passthru]
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]
Checkpoint-VM
          [-VM] <VirtualMachine[]>
          [[-SnapshotName] <String>]
          [-AsJob]
          [-Passthru]
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]

Description

The Checkpoint-VM cmdlet creates a checkpoint of a virtual machine.

Note: In Windows Server 2012 R2, virtual machine snapshots were renamed to virtual machine checkpoints. For clarity, this document will refer to virtual machine snapshots as checkpoints.

Examples

Example 1

PS C:\> Checkpoint-VM -Name Test -SnapshotName BeforeInstallingUpdates

Checkpoints virtual machine Test, creating a checkpoint of it named BeforeInstallingUpdates.

Example 2

PS C:\> Get-VM Test -ComputerName Server1 | Checkpoint-VM

Checkpoints virtual machine Test on Hyper-V host Server1.

Parameters

-AsJob

Runs the cmdlet as a background job.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Specifies one or more virtual machine hosts on which the virtual machine checkpoint is to be created. NetBIOS names, IP addresses, and fully qualified ___domain names are allowable. The default is the local computer. Use localhost or a dot (.) to specify the local computer explicitly.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Specifies one or more user accounts that have permission to perform this action. The default is the current user.

Type:PSCredential[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specifies the name of the virtual machine of which a checkpoint is to be taken.

Type:String[]
Aliases:VMName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Passthru

Specifies that an object is to be passed through to the pipeline representing the virtual machine of which a checkpoint is to be taken.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SnapshotName

Specifies the name of the checkpoint to be taken. If not provided, a combination of the virtual machine's name and a current timestamp is used.

Type:String
Aliases:CheckpointName
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Specifies the virtual machine of which a checkpoint is to be taken.

Type:VirtualMachine[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Outputs

None

By default, this cmdlet doesn't return any output.

Microsoft.HyperV.PowerShell.Snapshot

When you use the PassThru parameter, this cmdlet returns a Microsoft.HyperV.PowerShell.Snapshot object.