Powershell remove-snapshot cmdlet

时间:2012-07-09 18:37:03

标签: powershell vmware

我正在开发一个小脚本,它将获取VM中的所有快照,并根据描述删除VM中除6个最新快照之外的所有快照。

现在我的代码看起来像这样:

get-snapshot -vm "test" | sort -property description | remove-snapshot ?

我使用get-date来使每个VM的描述成为创建它的日期,并希望删除除6个最新快照之外的所有快照。我的脚本完成这项任务我缺少什么?

我正在考虑使用-getchildren,但是我无法弄清楚如何将它移到删除快照7的位置。

1 个答案:

答案 0 :(得分:2)

快照有一个名为Created的属性,因此您可以对此属性进行排序并跳过第一个6.在测试环境中对此进行测试并删除WhatIf开关以删除快照。

Get-Snapshot -VM test | 
Sort-Object Created | 
Select-Object -Skip 6 | 
Remove-Snapshot -Confirm:$false -WhatIf