繁体   English   中英

使用 PowerShell 直接重启服务器计算机并恢复脚本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM