[英]Restart server computer with PowerShell Direct and resume the script
我正在使用 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 中使用Rename-Computer -NewName 'svn2' -Force -Restart
中的-Restart
参数? 或者有更好的方法吗?
我的问题是脚本在机器仍在重新启动时继续运行命令。 因此,我收到错误。 这就是我要解决的问题。
看来这里正确的解决方案是使用带有-Wait
参数的Restart-VM
从主机重新启动 VM。
所以我不得不更换这个
Rename-Computer -NewName 'server2' -Force -Restart
}
Start-Sleep -s 10
有了这个
Rename-Computer -NewName 'server2' -Force
}
Restart-VM $myVmName -Wait
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.