Table of contents
TLS
TOC
Collapse the table of content
Expand the table of content

Remove-VMSnapshot

Brian Lich|Last Updated: 3/8/2017

SYNOPSIS

Deletes a virtual machine checkpoint.

SYNTAX

SnapshotName (Default)

Remove-VMSnapshot [-VMName] <String[]> [-CimSession <CimSession[]>] [-ComputerName <String[]>]
 [-Credential <PSCredential[]>] [[-Name] <String[]>] [-IncludeAllChildSnapshots] [-AsJob] [-Passthru] [-WhatIf]
 [-Confirm] [<CommonParameters>]

VMObject

Remove-VMSnapshot [-VM] <VirtualMachine[]> [[-Name] <String[]>] [-IncludeAllChildSnapshots] [-AsJob]
 [-Passthru] [-WhatIf] [-Confirm] [<CommonParameters>]

SnapshotObject

Remove-VMSnapshot [-VMSnapshot] <VMSnapshot[]> [-IncludeAllChildSnapshots] [-AsJob] [-Passthru] [-WhatIf]
 [-Confirm] [<CommonParameters>]

DESCRIPTION

The Remove-VMSnapshot cmdlet deletes a virtual machine 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-VM TestVM | Remove-VMSnapshot -Name Experiment*

Deletes all checkpoints 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 checkpoints of virtual machine TestVM older than 90 days.

PARAMETERS

-AsJob

Runs the cmdlet as a background job.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: 

Required: False
Position: Named
Default value: None
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[]
Parameter Sets: SnapshotName
Aliases: 

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

-ComputerName

Specifies one or more Hyper-V hosts on which this cmdlet deletes a checkpoint. 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[]
Parameter Sets: SnapshotName
Aliases: 

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

-Confirm

Prompts you for confirmation before running the cmdlet.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: 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[]
Parameter Sets: SnapshotName
Aliases: 

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

-IncludeAllChildSnapshots

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

Type: SwitchParameter
Parameter Sets: (All)
Aliases: IncludeAllChildCheckpoints

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

-Name

Specifies the name of the checkpoint to be deleted.

Type: String[]
Parameter Sets: SnapshotName
Aliases: 

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

Required: False
Position: 1
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Passthru

Indicates that this cmdlet returns a Microsoft.HyperV.PowerShell.VirtualMachine object that represents the checkpoint that it deletes.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: 

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

-VM

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

Type: VirtualMachine[]
Parameter Sets: VMObject
Aliases: 

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-VMName

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

Type: String[]
Parameter Sets: SnapshotName
Aliases: 

Required: True
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-VMSnapshot

Specifies the checkpoint to be deleted.

Type: VMSnapshot[]
Parameter Sets: SnapshotObject
Aliases: VMCheckpoint

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-WhatIf

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

Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

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

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

OUTPUTS

None by default; Microsoft.HyperV.PowerShell.VirtualMachine if PassThru is specified.

NOTES

Export-VMSnapshot

Get-VMSnapshot

Rename-VMSnapshot

Restore-VMSnapshot

Get-VM

© 2017 Microsoft