共用方式為


Restart-Computer

重新啟動本機和遠端電腦上的作業系統。

Syntax

Restart-Computer
       [-WsmanAuthentication <String>]
       [[-ComputerName] <String[]>]
       [[-Credential]<PSCredential>]
       [-Force]
       [-Wait]
       [-Timeout <Int32>]
       [-For <WaitForServiceTypes>]
       [-Delay <Int16>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

此 Cmdlet 僅適用於 Windows 平臺。

Cmdlet Restart-Computer 會在本機和遠端電腦上重新啟動作業系統。

您可以使用 的參數 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 會使用 ComputerNameCredential 參數及其變數。 Force 參數會立即重新啟動每部計算機。

範例 6:重新啟動遠端電腦並等候 PowerShell

Restart-Computer 會重新啟動遠端計算機,然後等候最多 5 分鐘 (300 秒,) 讓 PowerShell 在重新啟動的電腦上可供使用,再繼續進行。

Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2

Restart-Computer 會使用 ComputerName 參數來指定 Server01Wait 參數會等候重新啟動完成。 For 指定 PowerShell 可以在遠端電腦上執行命令。 Timeout 參數會指定五分鐘的等候。 Delay 參數會每隔兩秒查詢遠端計算機,以判斷是否重新啟動。

範例 7:使用 WsmanAuthentication 重新啟動電腦

Restart-Computer 使用 WsmanAuthentication 機制重新啟動遠端電腦。 Kerberos 驗證會判斷目前使用者是否有權重新啟動遠端電腦。 如需詳細資訊,請參閱 AuthenticationMechanism

Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos

Restart-Computer 會使用 ComputerName 參數來指定遠端電腦 Server01WsmanAuthentication 參數會將驗證方法指定為 Kerberos

參數

-ComputerName

指定一部計算機名稱或以逗號分隔的計算機名稱陣列。 Restart-Computer 接受來自管線或變數的 ComputerName 物件。

輸入遠端電腦的 NetBIOS 名稱、IP 位址或完整網域名稱。 若要指定本機計算機,請輸入計算機名稱、點 .或localhost。

此參數不依賴 PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 ComputerName 參數。

如果未指定 ComputerName 參數, Restart-Computer 請重新啟動本機電腦。

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

在執行 之前 Restart-Computer,提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定有權執行此動作的用戶帳戶。 預設為目前使用者。

輸入用戶名稱,例如User01Domain01\User01,或輸入 Cmdlet 所產生的 Get-CredentialPSCredential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。

認證會儲存在 PSCredential 物件中,密碼會儲存為 SecureString

注意

如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?

Type:PSCredential
Position:1
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delay

指定查詢的頻率,以秒為單位。 PowerShell 會查詢 For 參數所指定的服務,以判斷服務是否可在電腦重新啟動之後使用。

此參數只與 WaitFor 參數一起有效。

此參數是在 Windows PowerShell 3.0 引進。

如果未指定 Delay 參數, Restart-Computer 請使用五秒的延遲。

Type:Int16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-For

指定 PowerShell 的行為,因為它會等候指定的服務或功能在電腦重新啟動後變成可用。 此參數只適用於 Wait 參數。

此參數可接受的值為:

  • 默認值:等候 PowerShell 重新啟動。
  • PowerShell:可以在電腦上的PowerShell遠端會話中執行命令。
  • WMI:接收對電腦 Win32_ComputerSystem 查詢的回覆。
  • WinRM:可以使用 WS-Management 來建立連到電腦的遠端工作階段。

此參數是在 Windows PowerShell 3.0 引進。

Type:WaitForServiceTypes
Accepted values:Wmi, WinRM, PowerShell
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

強制立即重新啟動電腦。

Type:SwitchParameter
Aliases:f
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Timeout

指定等待的持續時間 (單位為秒)。 當逾時經過時, Restart-Computer 會返回命令提示字元,即使計算機未重新啟動也一樣。

Timeout 參數只適用於 Wait 參數。 逾時 會覆寫 Wait 參數的無限期等候期間。

此參數是在 Windows PowerShell 3.0 引進。

Type:Int32
Aliases:TimeoutSec
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Wait

Restart-Computer 隱藏 PowerShell 提示字元,並封鎖管線,直到電腦重新啟動為止。 您可以在文稿中使用此參數來重新啟動計算機,然後在重新啟動完成時繼續處理。

Wait 參數會無限期等候電腦重新啟動。 您可以使用 Timeout 來調整計時和 ForDelay 參數,以等候重新啟動的電腦上提供特定服務。

當您重新啟動本機計算機時, Wait 參數無效。 如果 ComputerName 參數的值包含遠端電腦和本機電腦的名稱, Restart-Computer 則會針對本機電腦上的 Wait 產生非終止錯誤,但會等候遠端電腦重新啟動。

此參數是在 Windows PowerShell 3.0 引進。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行時 Restart-Computer 會發生什麼情況。 Cmdlet Restart-Computer 未執行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WsmanAuthentication

指定用來驗證使用者認證的機制。 此參數是在 Windows PowerShell 3.0 引進。

此參數可接受的值為: BasicCredSSPDefaultDigestKerberosNegotiate

如需詳細資訊,請參閱 AuthenticationMechanism

警告

認證安全性服務提供者 (CredSSP) 驗證,其中使用者認證會傳遞至要驗證的遠端電腦,是針對需要驗證多個資源的命令所設計,例如存取遠端網路共用。 此機制會使得遠端作業的安全性風險變高。 若遠端電腦遭到入侵,傳遞給它的認證便可用來控制網路工作階段。

Type:String
Accepted values:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

String

您可以使用管線將包含電腦名稱的字串傳送至此 Cmdlet。

輸出

None

此 Cmdlet 不會傳回任何輸出。

備註

  • 在 Windows 中,Restart-Computer使用 Windows Management Instrumentation (WMI) Win32_OperatingSystem 類別的 Win32Shutdown 方法。 此方法需要針對用來重新啟動計算機的用戶帳戶啟用 SeShutdownPrivilege 許可權。
  • 在 Linux 和 Mac OS 上/sbin/shutdownRestart-Computer使用 bash 工具。