Remove-VMSnapshot

Deletes a virtual machine snapshot.

Syntax

Remove-VMSnapshot
      [-VMName] <String[]>
      [[-Name] <String[]>]
      [-AsJob]
      [-ComputerName <String[]>]
      [-IncludeAllChildSnapshots]
      [-Passthru]
Remove-VMSnapshot
      [-VM] <VirtualMachine[]>
      [[-Name] <String[]>]
      [-AsJob]
      [-IncludeAllChildSnapshots]
      [-Passthru]
Remove-VMSnapshot
      [-VMSnapshot] <VMSnapshot[]>
      [-AsJob]
      [-IncludeAllChildSnapshots]
      [-Passthru]

Description

The Remove-VMSnapshot deletes a virtual machine snapshot.

Examples

Example 1

PS C:\>Get-VM TestVM | Remove-VMSnapshot -Name Experiment*

Deletes all snapshots of virtual machine TestVM whose names starts with Experiment.

Example 2

PS C:\>Get-VMSnapshot -VMName TestVM | Where-Object {$_.CreationTime -lt (Get-Date).AddDays(-90) } | Remove-VMSnapshot

Deletes all snapshots of virtual machine TestVM older than 90 days.

Parameters

-AsJob

Specifies that the cmdlet is to be run as a background job.

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

-ComputerName

Specifies one or more Hyper-V hosts on which a snapshot is to be deleted. 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:.
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeAllChildSnapshots

Specifies that the snapshot's children are to be deleted along with the snapshot.

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

-Name

Specifies the name of the snapshot to be deleted.

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

-Passthru

Specifies that an object is to be passed through to the pipeline representing the snapshot to be deleted.

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

-VM

Specifies the virtual machine of which the snapshot is to be deleted.

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

-VMName

Specifies the name of the virtual machine of which the snapshot is to be deleted.

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

-VMSnapshot

Specifies the snapshot to be deleted.

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

Outputs

None

Default

Microsoft.Virtualization.Powershell.VirtualMachine

If -PassThru is specified.