如何在PowerShell中的Restart-Computer cmdlet中使用–Timeout参数?
顾名思义,使用–Timeout参数,您可以限制–Wait和–For参数的验证时间(重新启动后的PowerShell,WinRM和WMI连接检查),如果在此期间未完成检查,则它将返回错误。此超时值以秒为单位。您可以使用–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