windows 使用PowerShell Direct重新启动服务器计算机并恢复脚本

von4xj4u  于 2023-01-31  发布在  Windows
关注(0)|答案(1)|浏览(137)

我正在使用PowerShell Direct和Hyper-V部署Windows虚拟机。虚拟机必须重新启动几次,一旦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参数?或者有更好的方法吗?
我的问题是当机器还在重新启动时脚本继续运行命令。因此,我收到错误。这是我想解决的问题。

mm5n2pyu

mm5n2pyu1#

这里正确的解决方案似乎是使用带有-Wait参数的Restart-VM从主机计算机重新启动VM。
所以我不得不换掉这个

Rename-Computer -NewName 'server2' -Force -Restart
}

Start-Sleep -s 10

用这个

Rename-Computer -NewName 'server2' -Force
}

Restart-VM $myVmName -Wait

相关问题