Restart-Computer
重新啟動本機和遠端電腦上的作業系統。
語法
DefaultSet (預設值)
Restart-Computer
[[-ComputerName] <String[]>]
[-WsmanAuthentication <String>]
[-Credential]<PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
此 Cmdlet 只能在 Windows 平臺上使用。
Restart-Computer Cmdlet 會在本機和遠端電腦上重新啟動作業系統。
您可以使用 Restart-Computer 的參數來執行重新啟動作業、指定驗證層級和替代認證、限制同時執行的作業,以及強制立即重新啟動。
從 Windows PowerShell 3.0 開始,您可以等候重新啟動完成,再執行下一個命令。 指定等候逾時和查詢間隔,並等候重新啟動的計算機上提供特定服務。 這項功能可讓您在腳本和函式中使用 Restart-Computer。
範例
範例 1:重新啟動本機計算機
Restart-Computer 會重新啟動本機計算機。
Restart-Computer
範例 2:重新啟動多部計算機
Restart-Computer 可以重新啟動遠端和本機計算機。
ComputerName 參數接受電腦名稱陣列。
Restart-Computer -ComputerName Server01, Server02, localhost
範例 3:從文本檔取得計算機名稱
Restart-Computer 從文字檔取得計算機名稱清單,並重新啟動計算機。 未指定 ComputerName 參數。 但是,因為它是第一個position參數,所以它會接受從傳送至管線之文本文件的計算機名稱。
Get-Content -Path C:\Domain01.txt | Restart-Computer
Get-Content 會使用 Path 參數,從文字檔取得電腦名稱清單,Domain01.txt。 計算機名稱會在管線下傳送。
Restart-Computer 重新啟動電腦。
範例 4:強制重新啟動文字檔中列出的計算機
本範例會強制立即重新啟動 Domain01.txt 檔案中列出的計算機。 文字檔中的電腦名稱會儲存在變數中。
Force 參數會強制立即重新啟動。
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force
Get-Content 會使用 Path 參數,從文字檔取得電腦名稱清單,Domain01.txt。 電腦名稱會儲存在變數中,$Names。
Get-Credential 提示您輸入使用者名稱和密碼,並將值儲存在變數 $Creds中。
Restart-Computer 會使用 ComputerName 和 Credential 參數及其變數。
Force 參數會導致每部電腦立即重新啟動。
範例 6:重新啟動遠端電腦並等候 PowerShell
Restart-Computer 會重新啟動遠端計算機,然後等候最多 5 分鐘(300 秒)讓 PowerShell 在重新啟動的電腦上可供使用,再繼續進行。
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer 會使用 ComputerName 參數來指定 Server01。
Wait 參數會等候重新啟動完成。
For 指定 PowerShell 可以在遠端電腦上執行命令。
Timeout 參數會指定五分鐘的等候。
Delay 參數會每隔兩秒查詢遠端電腦,以判斷它是否已重新啟動。
範例 7:使用 WsmanAuthentication 重新啟動電腦
Restart-Computer 會使用 WsmanAuthentication 機制重新啟動遠端電腦。
Kerberos 驗證會判斷目前使用者是否有權重新啟動遠端電腦。 如需詳細資訊,請參閱 AuthenticationMechanism。
Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos
Restart-Computer 會使用 ComputerName 參數來指定遠端電腦,Server01。
WsmanAuthentication 參數會將驗證方法指定為 Kerberos。
參數
-ComputerName
指定一個電腦名稱或以逗號分隔的計算機名稱陣列。
Restart-Computer 接受來自管線或變數 ComputerName 物件。
輸入 NetBIOS 名稱、IP 位址或遠端電腦的完整功能變數名稱。 若要指定本機計算機,請輸入計算機名稱、點 .或localhost。
此參數不依賴 PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 ComputerName 參數。
如果未指定 ComputerName 參數,Restart-Computer 會重新啟動本機計算機。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 中國, __伺服器, 伺服器, IP位址 |
參數集
(All)
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Confirm
在執行 Restart-Computer之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設值為目前的使用者。
輸入使用者名稱,例如 User01 或 Domain01\User01,或輸入 Cmdlet 所產生的 Get-Credential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。
認證會儲存在 PSCredential 物件中,密碼會儲存為 secureString 。
注意
如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?。
參數屬性
| 類型: | PSCredential |
| 預設值: | Current user |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Delay
指定查詢的頻率,以秒為單位。 PowerShell 會查詢 For 參數所指定的服務,以判斷計算機重新啟動後是否可以使用服務。
此參數只與 Wait 和 For 參數一起有效。
此參數是在 Windows PowerShell 3.0 中引進的。
如果未指定 Delay 參數,Restart-Computer 會使用五秒的延遲。
參數屬性
| 類型: | Int16 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-For
指定 PowerShell 的行為,因為它會等候指定的服務或功能在電腦重新啟動後變成可用。 此參數只適用於 Wait 參數。
此參數可接受的值為:
- 預設:等候 PowerShell 重新啟動。
- PowerShell:可以在電腦上的 PowerShell 遠端會話中執行命令。
- WMI:接收計算機的Win32_ComputerSystem查詢回復。
- WinRM:可以使用 WS-Management 建立對計算機的遠端會話。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | WaitForServiceTypes |
| 預設值: | None |
| 接受的值: | Wmi, WinRM, PowerShell |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Force
強制立即重新啟動電腦。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | f |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Timeout
指定等候的持續時間,以秒為單位。 當逾時經過時,即使計算機未重新啟動,Restart-Computer 仍會返回命令提示字元。
Timeout 參數只適用於 Wait 參數。 逾時 會覆寫 Wait 參數的無限期等候期間。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | Int32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | TimeoutSec |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Wait
Restart-Computer 隱藏 PowerShell 提示字元,並封鎖管線,直到電腦重新啟動為止。 您可以在文稿中使用此參數來重新啟動計算機,然後在重新啟動完成時繼續處理。
Wait 參數會無限期等候電腦重新啟動。 您可以使用 逾時 來調整計時和 For 和 Delay 參數,以等候重新啟動的計算機上取得特定服務。
當您重新啟動本機計算機時,Wait 參數無效。 如果 ComputerName 參數的值包含遠端電腦和本機電腦的名稱,Restart-Computer 會 針對本機電腦上的等候 產生非終止錯誤,但會等候遠端電腦重新啟動。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Restart-Computer 執行時會發生什麼事。
Restart-Computer Cmdlet 未執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 無線 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WsmanAuthentication
指定用來驗證使用者認證的機制。 此參數是在 Windows PowerShell 3.0 中引進的。
此參數可接受的值為:Basic、CredSSP、Default、Digest、Kerberos和 Negotiate。
如需詳細資訊,請參閱 AuthenticationMechanism。
警告
認證安全性服務提供者 (CredSSP) 驗證,其中使用者認證會傳遞至要驗證的遠端電腦,是針對需要驗證多個資源的命令所設計,例如存取遠端網路共用。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。
參數屬性
| 類型: | String |
| 預設值: | None |
| 接受的值: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
String
您可以使用管線將包含電腦名稱的字串傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
- 在 Windows 中,
Restart-Computer會使用 Windows Management Instrumentation (WMI) Win32_OperatingSystem 類別的 Win32Shutdown 方法。 此方法需要為用來重新啟動計算機的用戶帳戶啟用 SeShutdownPrivilege 許可權。 - 在 Linux 和 Mac OS 上,
Restart-Computer會使用/sbin/shutdownbash 工具。