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

顾名思义,使用–Timeout参数,您可以限制–Wait–For参数的验证时间(重新启动后的PowerShell,WinRMWMI连接检查),如果在此期间未完成检查,则它将返回错误。此超时值以秒为单位。您可以使用–Wait–For参数来指定此参数,但使用–For参数时,还需要包括–Wait参数。

当使用-Wait参数指定-Timeout时,整体检查(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

您还可以同时使用–Wait–For来指定-Timeout参数。

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