如何在 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
廣告