删除30天之内的所有快照

我目前正在使用VMware 5.1,并寻找一种方法来保持用户创build的快照变得过时。 VMware内部是否有任何可以让你pipe理快照的工具(或者是一个可以编写脚本的方法)?

理想情况下,我想要自动删除任何超过一个月的快照。

您可以使用powercli轻松完成此操作,因为有一个“remove-shapshot”cmdlet:

$oneMonthAgo = (Get-Date).AddDays(-30) Get-VM | Foreach-Object { Get-Snapshot -VM $_ | Foreach-Object { if($_.Created -lt $oneMonthAgo) { Remove-Snapshot $_ -Confirm -WhatIf }}} 

我把-Confirm-WhatIf放在那里,因为Remove-Snapshot可能会造成很大的伤害 – 在把这些参数取出之前,你要确保它的目标是正确的快照。

 $oneMonthAgo = (Get-Date).AddDays(-30) Get-VM | Foreach-Object { Get-Snapshot -VM $_ | Foreach-Object { if($_.Created -lt $oneMonthAgo) { Remove-Snapshot $_ -Confirm:$false }}} 

我猜上面的脚本会做,是的将它添加到任务调度程序,这仍然会缓解工作。 build议删除3天前的快照。