如何在 PowerShell 中使用 Restart-Computer cmdlet 的 –Timeout 参数?
顾名思义,使用 –Timeout 参数,您可以限制验证的时间(PowerShell、WinRM 和WMI 在重启后连接检查)对于–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
广告