У меня есть небольшой скрипт Powershell, который используется для выключения моих виртуальных машин в случае длительного перебоя в питании. Он принимает определенный объект VM и принудительно завершает работу.
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, проблема заключается в том, что используемая оснастка (добавленная до вызова вышеуказанной функции) не загружена в контексте Start-Job.
Каков правильный синтаксис, чтобы это произошло?