如何使用PowerShell重啟遠端系統?


要重啟遠端計算機,您需要使用由計算機名提供的 **Restart-Computer** 命令。例如:

Restart-Computer -ComputerName Test1-Win2k12

上述命令將自動重啟計算機 **Test1-Win2k12**,如果您有多臺遠端計算機需要重啟,您可以用逗號 (,) 分隔提供多臺計算機。例如:

Restart-Computer -ComputerName Test1-Win2k12, Test2-Win2k12

在上例中,重啟訊號將同時傳送到兩臺計算機。

您也可以使用管道來重啟遠端計算機。例如:

"Test1-Win2k12","Test2-Win2k12" | Restart-Computer -Verbose

或者

(Get-Content C:\Servers.txt) | Restart-Computer -Verbose

一些伺服器依賴於其他伺服器,因此主伺服器需要先重啟。例如,AD 和 Exchange 伺服器。如果您在同一命令列中指定這兩臺伺服器,則兩臺伺服器將同時重啟,而這並非我們所需。為了解決這個問題,您需要一次只傳遞一臺伺服器,編寫一些伺服器重啟後檢查清單的步驟,然後轉到下一臺伺服器。您可以將伺服器新增到陣列或文字檔案中,然後透過 foreach 迴圈傳遞單個值,以及重啟後檢查清單的步驟,然後轉到下一臺伺服器。

人們經常將 **-Wait** 引數與 Restart-Computer cmdlet 混淆,**-Wait** 引數將在一臺伺服器的重啟後檢查清單完成後再重啟下一臺伺服器,但 **-Wait** 引數僅對每臺指定的計算機執行三個主要的檢查清單,例如 **WinRM、WMI** 和 **PowerShell** 連線檢查,但在伺服器啟動後它無法阻止伺服器重啟的執行。

**Restart-Computer** 向所有計算機發送重啟命令,**-Wait** 引數對每臺計算機執行指定的測試,即使遠端計算機檢查失敗,伺服器也會重啟。

當有人登入到遠端伺服器時,PowerShell 無法重啟遠端伺服器並丟擲以下錯誤訊息。

PS C:\Users\Administrator> Restart-Computer test1-win2k12 –Verbose
VERBOSE: Performing the operation "Enable the Remote shutdown access rights
and restart the computer." on target "test1-win2k12".
Restart-Computer : Failed to restart the computer test1-win2k12 with the
following error message:
The system shutdown cannot be initiated because there are other users logged
on to thecomputer.
At line:1 char:1+ Restart-Computer test1-win2k12 -Verbose+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (test1-win2k12:String) [Restart-
Computer], InvalidOperationException
+ FullyQualifiedErrorId :
RestartcomputerFailed,Microsoft.PowerShell.Commands.RestartComputerCommand

要強制重啟計算機,您需要使用 **-Force 引數**。

Restart-Computer Test1-Win2k12 -Force

更新於:2020年7月24日

2K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.