我正在使用PowerShell Direct和Hyper-V部署Windows VM。 VM必须重新启动几次,并且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
而不是在VM的-Restart
中使用Rename-Computer -NewName 'svn2' -Force -Restart
参数?还是有更好的方法?
我的问题是,当机器仍在重新启动时,脚本会继续运行命令。因此,我收到错误。这就是我要解决的。