Connect-VIServer $vmserver -User $vmuser -Password $vmpass
#Create snapshot
$task1 = New-Snapshot -Name 'variable' -VM $vmname -RunAsync
Start-Sleep -Seconds 60
Wait-Task -Task $task1
#Restart VM
$task2 = Restart-VM -VM $vmname -Confirm:$false -RunAsync
Start-Sleep -Seconds 60
Wait-Task -Task $task2
#Revert Snapshot
$task3 = Set-VM -VM $vmname -Snapshot 'Fresh' -Confirm:$false -RunAsync
Wait-Task -Task $task3
这不等待创建快照(task1
)并继续执行task2
,这当然是失败的,因为已经执行了一些操作。同时,在创建快照时它说这个即使创建VM,也无法在当前状态下执行操作。