virtual-machine - 使用 PowerCLI 添加和删除多个服务器的快照

标签 virtual-machine snapshot powercli

我正在尝试使用 PowerCLI 从多个服务器获取快照。

Connect-VIServer -server 192.168.0.1 -user acconut -password xxx

$vmlist = Get-Content C:\Users\Desktop\Test\Servers.txt

foreach($VM in $VMlist) {
    New-Snapshot -VM $vm -Name Temp-SnapShot -description (get-date),'Created for patching'
}

Disconnect-VIServer -Confirm:$false    

如果我删除get-date,该脚本将起作用。但我需要在描述中输入日期。我应该如何更改上面的脚本以在快照的描述中包含 Get-Date

此外,我需要在几天后删除这些快照:

Connect-VIServer -server 192.168.0.1 -user acconut -password xxx

$vmlist = Get-Content C:\Users\Desktop\Test\Servers.txt

foreach($VM in $VMlist) {
    Remove-Snapshot -VM $vm -snapshot -confirm:$false
}

Disconnect-VIServer -Confirm:$false  

我无法使用 Remove-Snapshot 删除快照,因为出现此错误:

Remove-Snapshot : Missing an argument for parameter 'Snapshot'. Specify a parameter of type 'VMware.VimAutomation.ViCore.Types.V1.VM.Snapshot[]' and try again.

感谢您的帮助。

最佳答案

在描述部分,您可以放置​​$date = get-datedo -description $date。这应该可行。

在删除快照之前,您需要先获取快照。我想说编辑您的删除快照行以包含以下内容:

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

您甚至可能想添加 -RemoveChildren:$true (这将删除“所有”快照)

关于virtual-machine - 使用 PowerCLI 添加和删除多个服务器的快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25208140/

相关文章:

erlang - 运行多个 Erlang 应用程序。一台还是多台虚拟机?

docker - Docker:物理机之间的连接-VM -Docker容器

java - 从 Java 调用时 powershell/powerCLI 性能缓慢

c# - 在 asp.net mvc 中执行 Powershell 和 Powercli 命令时如何设置超时

powershell - 那么Powershell PSC1 文件有什么特别之处呢?

memory - Virtualbox 内存使用情况

azure - 升级 Azure 虚拟机有多难

android - 如何防止 Android 中的屏幕捕获

unit-testing - Jest 进行 React 快照测试 - 失败的 Prop 类型 : Invalid prop `children` of type `string` supplied

php - 如何在 php 中制作网页的快照图像?