Remove-VMSnapshot
Deletes a virtual machine checkpoint.
语法
Parameter Set: SnapshotName
Remove-VMSnapshot [-VMName] <String[]> [[-Name] <String[]> ] [-AsJob] [-CimSession <Microsoft.Management.Infrastructure.CimSession[]> ] [-ComputerName <String[]> ] [-Credential <System.Management.Automation.PSCredential[]> ] [-IncludeAllChildSnapshots] [-Passthru] [-Confirm] [-WhatIf] [ <CommonParameters>]
Parameter Set: SnapshotObject
Remove-VMSnapshot [-VMSnapshot] <VMSnapshot[]> [-AsJob] [-IncludeAllChildSnapshots] [-Passthru] [-Confirm] [-WhatIf] [ <CommonParameters>]
Parameter Set: VMObject
Remove-VMSnapshot [-VM] <VirtualMachine[]> [[-Name] <String[]> ] [-AsJob] [-IncludeAllChildSnapshots] [-Passthru] [-Confirm] [-WhatIf] [ <CommonParameters>]
详细说明
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.
参数
-AsJob
Runs the cmdlet as a background job.
别名 |
none |
是否必需? |
false |
在哪里? |
named |
默认值 |
none |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-CimSession<Microsoft.Management.Infrastructure.CimSession[]>
在远程会话中或远程计算机上运行该 cmdlet。输入计算机名或会话对象,如 New-cimsession 或 Get-cimsession cmdlet 的输出。默认为本地计算机上的当前会话。
别名 |
none |
是否必需? |
false |
在哪里? |
named |
默认值 |
none |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-ComputerName<String[]>
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.
别名 |
none |
是否必需? |
false |
在哪里? |
named |
默认值 |
none |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Credential<System.Management.Automation.PSCredential[]>
Specifies one or more user accounts that have permission to perform this action. The default is the current user.
别名 |
none |
是否必需? |
false |
在哪里? |
named |
默认值 |
none |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-IncludeAllChildSnapshots
Specifies that the checkpoint’s children are to be deleted along with the checkpoint.
别名 |
IncludeAllChildCheckpoints |
是否必需? |
false |
在哪里? |
named |
默认值 |
none |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Name<String[]>
Specifies the name of the checkpoint to be deleted.
别名 |
none |
是否必需? |
false |
在哪里? |
2 |
默认值 |
none |
是否接受管道输入? |
True (ByValue) |
是否接受通配符? |
false |
-Passthru
Indicates that this cmdlet returns a Microsoft.HyperV.PowerShell.VirtualMachine object that represents the checkpoint that it deletes.
别名 |
none |
是否必需? |
false |
在哪里? |
named |
默认值 |
none |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-VM<VirtualMachine[]>
Specifies the virtual machine of which the checkpoint is to be deleted.
别名 |
none |
是否必需? |
true |
在哪里? |
1 |
默认值 |
none |
是否接受管道输入? |
True (ByValue) |
是否接受通配符? |
false |
-VMName<String[]>
Specifies the name of the virtual machine of which the checkpoint is to be deleted.
别名 |
none |
是否必需? |
true |
在哪里? |
1 |
默认值 |
none |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-VMSnapshot<VMSnapshot[]>
Specifies the checkpoint to be deleted.
别名 |
VMCheckpoint |
是否必需? |
true |
在哪里? |
1 |
默认值 |
none |
是否接受管道输入? |
True (ByValue) |
是否接受通配符? |
false |
-Confirm
在运行 cmdlet 前提示你进行确认。
是否必需? |
false |
在哪里? |
named |
默认值 |
false |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-WhatIf
显示在 cmdlet 运行时将发生的情况。该 cmdlet 不运行。
是否必需? |
false |
在哪里? |
named |
默认值 |
false |
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持常见的参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 TechNet 上的 about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216)。
输入
输入类型是可以传送到 cmdlet 的对象的类型。
输出
输出类型是 cmdlet 发出的对象的类型。
- None by default; Microsoft.HyperV.PowerShell.VirtualMachine if –PassThru is specified.
示例
Example 1
Deletes all checkpoints of virtual machine TestVM whose names starts with Experiment.
PS C:\> Get-VM TestVM | Remove-VMSnapshot –Name Experiment*
Example 2
Deletes all checkpoints of virtual machine TestVM older than 90 days.
PS C:\> Get-VMSnapshot -VMName TestVM | Where-Object {$_.CreationTime -lt (Get-Date).AddDays(-90) } | Remove-VMSnapshot