我有一个小的PowerShell脚本,用于在长时间停电事件中关闭我的虚拟机。它接受特定的虚拟机对象并强制关闭。
Function DirtyShutdown
{ param([VMware.VimAutomation.ViCore.Impl.V1.Inventory.VirtualMachineImpl]$VM )
$VM | Stop-VM -Confirm:$false
}
我想使用start-job命令来并行运行所有这些任务,以加快此过程的速度。我已经尝试使用几个变体,包括我认为正确的以下内容。
Start-Job -InputObject $VM -ScriptBlock{ $input | Shutdown-VMGuest -Confirm:$false }
根据 Receive-Job 输出,问题似乎是在调用上述函数之前添加的 snap in 没有在 Start-Job 的上下文中加载。正确的语法是什么可以解决这个问题?