【问题标题】:Remove Multiple Snapshots at once in PowerCLI在 PowerCLI 中一次删除多个快照
【发布时间】:2018-01-24 17:48:53
【问题描述】:

我正在尝试在使用 PowerCLI 进行修补后删除旧快照。我现在使用的代码是:

Get-VM | Get-Snapshot | Remove-Snapshot -confirm$false

效果很好...但它一次只能删除一个,我希望它一次执行 2-3 个。这可能吗?

提前致谢!

【问题讨论】:

  • 您可能想要查看获取您的虚拟机,然后将它们作为单独的作业删除。查看 GitHub 上的 PoshRSJob - github.com/proxb/PoshRSJob

标签: powershell vmware powercli


【解决方案1】:

此代码将从所有虚拟机中删除多个快照:

Get-VM | Get-Snapshot | % { Remove-Snapshot $_ -Confirm:$false }

我建议先选择一个虚拟机并进行测试:

$VM = Get-VM -Name 'My Virtual Machine'
$VM | Get-Snapshot | % { Remove-Snapshot $_ -Confirm:$false }

经测试可在 PowerCLI 6.5 上运行。

【讨论】:

    【解决方案2】:

    我建议查看“RunAsync”参数。这将创建任务,然后移动到下一个任务,而无需等待前一个任务完成。

    例子:

    Get-VM | Get-Snapshot | Remove-Snapshot -RunAsync -Confirm:$false
    

    【讨论】:

    • 不会“-runasync”一次删除所有快照吗?在一个补丁周期内,我将在大约 50 个服务器上创建快照,并且一次只想删除 3 个...
    • 它会同时删除所有这些。如果你想变得更细化,你可能想研究类似 PowerShell 线程的东西。
    猜你喜欢
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 2019-02-23
    相关资源
    最近更新 更多