如何在 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+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告