如何使用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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP