【发布时间】:2014-10-02 04:58:42
【问题描述】:
我正在尝试使用 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 删除快照,因为我收到此错误:
删除快照:缺少参数“快照”的参数。指定类型为“VMware.VimAutomation.ViCore.Types.V1.VM.Snapshot[]”的参数,然后重试。
感谢您的帮助。
【问题讨论】:
-
对于你的第一个问题,我猜
-Description只需要一个字符串。当问题重新打开时,我可以告诉你如何解决这个问题。对于第二部分,您在尝试该脚本时是否遇到错误? -
是的,我收到了 Remove-Snapshot:缺少参数“快照”的参数。指定类型为“VMware.VimAutomation.ViCore.Types.V1.VM.Snapshot[]”的参数,然后重试。
-
啊,您需要先获取特定快照,然后将其传递给
Remove-Snapshot。 -
你为什么关闭这个问题?我一直在等到问题重新开放。
标签: virtual-machine snapshot powercli