现在,我正在使用以下脚本块以并行方式移动虚拟机:
Start-Job -ScriptBlock {
Add-PSSnapin VMware.VimAutomation.Core
Add-PSSnapin VMware.VimAutomation.License
Add-PSSnapin VMware.DeployAutomation
Add-PSSnapin VMware.ImageBuilder
Connect-VIServer MyVIServer
Move-VM -VM $vm -Destination $TargetHost
}
这似乎不是很有效,并且不能完全发挥作用(作业永远不会完成)。我不应该每次都添加管理单元并连接到VIServer,但我不知道是否有办法绕过它。有没有办法同时移动多个虚拟机并监控它们何时完成?
此外,每个VM不一定会转到同一个ESX主机,因此我需要为每个VM分别运行Move命令。
答案 0 :(得分:1)
Move-VM
有一个-RunAsync
参数,看起来应该做你需要的。