Я развертываю Windows виртуальных машин с PowerShell Direct и Hyper-V. Виртуальная машина должна быть перезапущена несколько раз, и, как только Windows запустится снова, сценарий должен возобновиться и выполнить другие команды. Например, вот часть моего текущего сценария:
Invoke-Command -VMName 'server2.example.com' -Credential $credential -ScriptBlock {
Rename-Computer -NewName 'server2' -Force -Restart
}
Start-Sleep -s 10
Сейчас я использую Start-Sleep -s 10
, чтобы убедиться, что машина запускается до того, как она возобновит выполнение других команд. Однако я считаю, что эта часть неверна. Возможно, мне нужно запустить Restart-VM VMNAME
на моем компьютере вместо использования аргумента -Restart
в Rename-Computer -NewName 'svn2' -Force -Restart
в виртуальной машине? Или есть лучший подход?
Моя проблема в том, что скрипт продолжает выполнять команды, когда машина все еще перезагружается. Поэтому я получаю ошибки. Это то, что я хочу решить.