Get-VMSnapshot

Gets the snapshots associated with a virtual machine or snapshot.

Syntax

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

Description

The Get-VMSnapshot cmdlet gets the snapshots associated with a virtual machine or snapshot.

Examples

Example 1

PS C:\>Get-VMSnapshot -VMName TestVM

Gets all snapshots of virtual machine TestVM.

Example 2

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

Gets all standard snapshots 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 snapshot 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 snapshots of snapshot Before applying updates of virtual machine TestVM.

Required Parameters

-ChildOf

Specifies the snapshot whose child snapshots are to be retrieved. This retrieves immediate children only.

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

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

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

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

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

Specifies the virtual machine whose snapshots are to be retrieved.

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

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

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

Optional Parameters

-ComputerName

Specifies one or more Hyper-V hosts on which snapshots 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
-Name

Specifies the name of the snapshot to be retrieved.

Type:String
Position:2
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-SnapshotType

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

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

Outputs

Microsoft.Virtualization.Powershell.Snapshot