如何在 PowerShell 中使用 Restart-Computer cmdlet 的 –Timeout 参数?


顾名思义,使用 –Timeout 参数,您可以限制验证的时间(PowerShell、WinRMWMI 在重启后连接检查)对于–Wait–For 参数,如果检查在该时间内未完成,则会返回错误。此超时值以秒为单位。您可以将此参数与–Wait–For 参数一起指定,但使用–For 参数时,也需要包含–Wait 参数。

-Timeout–Wait 参数一起指定时,则总检查时间(3 个验证:PowerShell、WMI 和 WINRM 连接)以秒为单位限制,而当它与 –For 参数一起使用时,则考虑特定检查时间。

在以下示例中,我们正在重启Test1-Win2k12远程服务器,超时时间为 10 秒。服务器重启,当服务器启动并如果检查在 10 秒内未通过,则返回错误。

Restart-Computer Test1-Win2k12 -Wait -Timeout 10 -Force

输出(验证在 10 秒内未通过)−

PS C:\Windows\system32> Restart-Computer Test1-Win2k12 -Wait -Timeout 10
Restart-Computer : Failed to restart the computer Test1-
Win2k12 with the following error message:
The computer did not finish restarting within the specified timeout period..
At line:1 char:1                + Restart-Computer Test1-Win2k12 -Wait -Timeout 10
            + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         \+ CategoryInfo             : OperationTimeout: (Test1-
Win2k12:String) [Restart-Computer],    RestartComputerTimeoutException
            + FullyQualifiedErrorId    : RestartComputerTimeout,Microsoft.PowerShe
ll.Commands.RestartComputerCommand

您还可以将-Timeout 参数与–Wait–For 同时指定。

Restart-Computer Test1-Win2k12 -Wait -For PowerShell -Timeout 10 -Force

更新于:2020年7月24日

1K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告