Remove-VMSnapshot
Deletes a virtual machine checkpoint.
Syntax
		SnapshotName (Default)
	 
	Remove-VMSnapshot
    [-VMName] <String[]>
    [[-Name] <String[]>]
    [-CimSession <CimSession[]>]
    [-ComputerName <String[]>]
    [-Credential <PSCredential[]>]
    [-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.
Parameter properties
| Type: | SwitchParameter | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
Parameter sets
(All)
| Position: | Named | 
| Mandatory: | False | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | 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.
Parameter properties
| Type: | CimSession[] | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
Parameter sets
					SnapshotName 
					
				 
				| Position: | Named | 
| Mandatory: | False | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | 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.
Parameter properties
| Type: | String[] | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
Parameter sets
					SnapshotName 
					
				 
				| Position: | Named | 
| Mandatory: | False | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-Confirm
Prompts you for confirmation before running the cmdlet.
Parameter properties
| Type: | SwitchParameter | 
| Default value: | False | 
| Supports wildcards: | False | 
| DontShow: | False | 
| Aliases: | cf | 
Parameter sets
(All)
| Position: | Named | 
| Mandatory: | False | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-Credential
Specifies one or more user accounts that have permission to perform this action. The default is the current user.
Parameter properties
| Type: | PSCredential[] | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
Parameter sets
					SnapshotName 
					
				 
				| Position: | Named | 
| Mandatory: | False | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-IncludeAllChildSnapshots   
		Specifies that the checkpoint's children are to be deleted along with the checkpoint.
Parameter properties
| Type: | SwitchParameter | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
| Aliases: | IncludeAllChildCheckpoints | 
Parameter sets
(All)
| Position: | Named | 
| Mandatory: | False | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-Name
Specifies the name of the checkpoint to be deleted.
Parameter properties
| Type: | String[] | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
Parameter sets
					SnapshotName 
					
				 
				| Position: | 1 | 
| Mandatory: | False | 
| Value from pipeline: | True | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-Passthru
Indicates that this cmdlet returns a Microsoft.HyperV.PowerShell.VirtualMachine object that represents the checkpoint that it deletes.
Parameter properties
| Type: | SwitchParameter | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
Parameter sets
(All)
| Position: | Named | 
| Mandatory: | False | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-VM
Specifies the virtual machine of which the checkpoint is to be deleted.
Parameter properties
| Type: | VirtualMachine[] | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
Parameter sets
VMObject
| Position: | 0 | 
| Mandatory: | True | 
| Value from pipeline: | True | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-VMName
Specifies the name of the virtual machine of which the checkpoint is to be deleted.
Parameter properties
| Type: | String[] | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
Parameter sets
					SnapshotName 
					
				 
				| Position: | 0 | 
| Mandatory: | True | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-VMSnapshot
Specifies the checkpoint to be deleted.
Parameter properties
| Type: | VMSnapshot[] | 
| Default value: | None | 
| Supports wildcards: | False | 
| DontShow: | False | 
| Aliases: | VMCheckpoint | 
Parameter sets
					SnapshotObject 
					
				 
				| Position: | 0 | 
| Mandatory: | True | 
| Value from pipeline: | True | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
-WhatIf 
		Shows what would happen if the cmdlet runs. The cmdlet is not run.
Parameter properties
| Type: | SwitchParameter | 
| Default value: | False | 
| Supports wildcards: | False | 
| DontShow: | False | 
| Aliases: | wi | 
Parameter sets
(All)
| Position: | Named | 
| Mandatory: | False | 
| Value from pipeline: | False | 
| Value from pipeline by property name: | False | 
| Value from remaining arguments: | False | 
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
Outputs
None
Default
Microsoft.HyperV.PowerShell.VirtualMachine
If -PassThru is specified.