Get-VMSnapshot

Gets the checkpoints associated with a virtual machine or checkpoint.

Syntax

Get-VMSnapshot
   [-ComputerName <String[]>]
   [-VMName] <String[]>
   [[-Name] <String>]
   [-SnapshotType <SnapshotType>]
   [<CommonParameters>]
Get-VMSnapshot
   [-ComputerName <String[]>]
   [-Id] <Guid>
   [<CommonParameters>]
Get-VMSnapshot
   [-VM] <VirtualMachine[]>
   [[-Name] <String>]
   [-SnapshotType <SnapshotType>]
   [<CommonParameters>]
Get-VMSnapshot
   [[-Name] <String>]
   -ChildOf <VMSnapshot>
   [-SnapshotType <SnapshotType>]
   [<CommonParameters>]
Get-VMSnapshot
   [[-Name] <String>]
   -ParentOf <VirtualMachineBase>
   [-SnapshotType <SnapshotType>]
   [<CommonParameters>]

Description

The Get-VMSnapshot cmdlet gets the checkpoints associated with a virtual machine or checkpoint.

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:\>Get-VMSnapshot -VMName TestVM

Gets all checkpoints of virtual machine TestVM.

Example 2

PS C:\>Get-VM -Name TestVM | Get-VMSnapshot -SnapshotType Standard

Gets all standard checkpoints of virtual machine TestVM.

Example 3

PS C:\>$snapshot = Get-VMSnapshot -Name 'Before applying updates' -VMName TestVM


PS C:\>Get-VMSnapshot -ParentOf $snapshot

Gets the immediate parent of checkpoint Before applying updates of virtual machine TestVM.

Example 4

PS C:\>$snapshot = Get-VMSnapshot -Name 'Before applying updates' -VMName TestVM


PS C:\>Get-VMSnapshot -ChildOf $snapshot

Gets the immediate child checkpoints of checkpoint Before applying updates of virtual machine TestVM.

Parameters

-ChildOf

Specifies the checkpoint whose child checkpoints are to be retrieved. This retrieves immediate children only.

Type:VMSnapshot
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ComputerName

Specifies one or more Hyper-V hosts on which checkpoints are to be retrieved. 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:.
Accept pipeline input:False
Accept wildcard characters:False
-Id

Specifies the unique identifier of the virtual machine whose checkpoints are to be retrieved.

Type:Guid
Position:0
Default value:None
Accept pipeline input:True (ByPropertyName, ByValue)
Accept wildcard characters:False
-Name

Specifies the name of the checkpoint to be retrieved.

Type:String
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ParentOf

Specifies the checkpoint whose immediate parent checkpoint is to be retrieved.

Type:VirtualMachineBase
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-SnapshotType

Specifies the type of the checkpoints to be retrieved. Allowed values are Standard, Recovery, Planned, Missing, Replica, AppConsistentReplica, and SyncedReplica.

Type:SnapshotType
Accepted values:Standard, Recovery, Planned, Missing, Replica, AppConsistentReplica, SyncedReplica
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-VM

Specifies the virtual machine whose checkpoints are to be retrieved.

Type:VirtualMachine[]
Position:0
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False
-VMName

Specifies the name of the virtual machine whose checkpoints are to be retrieved.

Type:String[]
Position:0
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

Outputs

Microsoft.HyperV.PowerShell.Snapshot