如何在 Hyper-V 中使用 Powershell 删除特定快照
How to delete a specific snapshot using Powershell in Hyper-V
亲爱的,
我正在尝试删除我们其中一台虚拟机的特定快照,但所有快照都被删除了。
PS C:\Users\abood> Get-VMSnapshot -VMName KUW-HV01
VMName Name SnapshotType CreationTime ParentSnapshotName
------ ---- ------------ ------------ ------------------
KUW-HV01 OLD Standard 7/22/2020 9:17:48 PM
KUW-HV01 NEW Standard 7/22/2020 9:18:08 PM OLD
PS C:\Users\abood> Remove-VMSnapshot -VMName KUW-HV01 -WhatIf | Where-Object {$_.Name -eq "NEW"}
What if: Remove-VMSnapshot will remove snapshot "NEW".
What if: Remove-VMSnapshot will remove snapshot "OLD".
如何只删除“NEW”或“OLD”而保留另一个?
提前致谢,
大多数针对某事采取操作的 cmdlet(例如 Remove-VMSnapshot
)将允许您将对象通过管道传递给它们以指定要针对哪些对象采取该操作。例如,您已经使用 Get-VMSnapshot
获取该特定 VM 的两个快照。然后,您可以使用 Where-Object
仅指定要删除的快照并过滤掉任何要保留的快照,如下所示:
Get-VMSnapshot -VMName KUW-HV01 | Where-Object {$_.Name -eq "NEW"}
VMName Name SnapshotType CreationTime ParentSnapshotName
------ ---- ------------ ------------ ------------------
KUW-HV01 NEW Standard 7/22/2020 9:18:08 PM OLD
然后将其通过管道传输到 Remove-VMSnapshot
以准确指定要删除的内容。
Get-VMSnapshot -VMName KUW-HV01 | Where-Object {$_.Name -eq "NEW"} | Remove-VMSnapshot -WhatIf
结果应该是:
What if: Remove-VMSnapshot will remove snapshot "NEW".
亲爱的,
我正在尝试删除我们其中一台虚拟机的特定快照,但所有快照都被删除了。
PS C:\Users\abood> Get-VMSnapshot -VMName KUW-HV01
VMName Name SnapshotType CreationTime ParentSnapshotName
------ ---- ------------ ------------ ------------------
KUW-HV01 OLD Standard 7/22/2020 9:17:48 PM
KUW-HV01 NEW Standard 7/22/2020 9:18:08 PM OLD
PS C:\Users\abood> Remove-VMSnapshot -VMName KUW-HV01 -WhatIf | Where-Object {$_.Name -eq "NEW"}
What if: Remove-VMSnapshot will remove snapshot "NEW".
What if: Remove-VMSnapshot will remove snapshot "OLD".
如何只删除“NEW”或“OLD”而保留另一个?
提前致谢,
大多数针对某事采取操作的 cmdlet(例如 Remove-VMSnapshot
)将允许您将对象通过管道传递给它们以指定要针对哪些对象采取该操作。例如,您已经使用 Get-VMSnapshot
获取该特定 VM 的两个快照。然后,您可以使用 Where-Object
仅指定要删除的快照并过滤掉任何要保留的快照,如下所示:
Get-VMSnapshot -VMName KUW-HV01 | Where-Object {$_.Name -eq "NEW"}
VMName Name SnapshotType CreationTime ParentSnapshotName
------ ---- ------------ ------------ ------------------
KUW-HV01 NEW Standard 7/22/2020 9:18:08 PM OLD
然后将其通过管道传输到 Remove-VMSnapshot
以准确指定要删除的内容。
Get-VMSnapshot -VMName KUW-HV01 | Where-Object {$_.Name -eq "NEW"} | Remove-VMSnapshot -WhatIf
结果应该是:
What if: Remove-VMSnapshot will remove snapshot "NEW".