重新啟動 (「重新開機」) 本機與遠端電腦上的作業系統。

語法

Restart-Computer [[-ComputerName] <string[]>] [[-Credential] <PSCredential>] [-AsJob] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Force] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

描述

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

您可以使用 Restart-Computer 的參數,以背景工作重新啟動操作、指定驗證層級與替代認證、限制同步執行的操作並且強制立即重新啟動。

除非您使用 AsJob 參數,否則這個 Cmdlet 不需要 Windows PowerShell 遠端。

參數

-AsJob

以背景工作執行命令。

注意:若要使用這個參數,必須在本機和遠端電腦上設定遠端連線,而且必須在 Windows Vista 與較新版本的 Windows 上,利用 [以系統管理員身分執行] 選項開啟 Windows PowerShell。如需詳細資訊,請參閱 about_Remote_Requirements。

在使用 AsJob 參數時,此命令會立即傳回一個代表背景工作的物件。當工作完成時,您可以繼續在工作階段中執行工作。工作會建立在本機電腦上,而遠端電腦的結果會自動傳回到本機電腦。若要管理工作,請使用 Job Cmdlet。若要取得工作結果,請使用 Receive-Job Cmdlet。

如需 Windows PowerShell 背景工作的詳細資訊,請參閱 about_Jobs 和 about_Remote_Jobs。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Authentication <AuthenticationLevel>

指定要用於 WMI 連線的驗證層級 (Restart-Computer 會使用 WMI)。預設值為 Packet。

有效的值包括:

Unchanged:驗證等級與前一個命令相同

Default:Windows 驗證

None:沒有 COM 驗證

Connect:連線層級的 COM 驗證

Call:呼叫層級的 COM 驗證

Packet:封包層級的 COM 驗證

PacketIntegrity:封包完整性層級的 COM 驗證

PacketPrivacy:封包私密性層級的 COM 驗證

必要?

false

位置?

named

預設值

4

接受管線輸入?

false

接受萬用字元?

false

-ComputerName <string[]>

指定一個或多個遠端電腦。預設為本機電腦。

請輸入遠端電腦的 NETBIOS 名稱、IP 位址或完整網域名稱。若要指定本機電腦,請輸入電腦名稱、句點 (.) 或 "localhost"。

此參數並不依存於 Windows PowerShell 遠端。即使沒有將電腦設定成執行遠端命令,也可以使用 ComputerName 參數。

必要?

false

位置?

1

預設值

.

接受管線輸入?

true (ByPropertyName)

接受萬用字元?

false

-Credential <PSCredential>

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

請輸入使用者名稱,例如 "User01" 或 "Domain01\User01",或是輸入 PSCredential 物件,例如由 Get-Credential Cmdlet 所產生的物件。

必要?

false

位置?

2

預設值

Current user

接受管線輸入?

false

接受萬用字元?

false

-Force

強制電腦立即重新啟動。

必要?

false

位置?

named

預設值

False

接受管線輸入?

false

接受萬用字元?

false

-Impersonation <ImpersonationLevel>

指定呼叫 WMI 時所使用的模擬層級 (Restart-Computer 會使用 WMI)。預設值為 "Impersonate"。

有效的值包括:

Default:預設模擬。

Anonymous:隱藏呼叫端的識別。

Identify:允許物件查詢呼叫端的認證。

Impersonate:允許物件使用呼叫端的認證。

必要?

false

位置?

named

預設值

Impersonate

接受管線輸入?

false

接受萬用字元?

false

-ThrottleLimit <int>

指定可以建立以執行此命令之同時連線數目的上限。如果您省略這個參數或輸入 0 這個值,則會使用預設值 32。

節流閥限制只適用於目前的命令,並不適用於工作階段或電腦。

必要?

false

位置?

named

預設值

32

接受管線輸入?

false

接受萬用字元?

false

-Confirm

在執行命令前先提示確認。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-WhatIf

說明執行命令時將會發生何種情況,但不會實際執行命令。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

您無法經由管道將輸入輸出至這個 Cmdlet。

輸出

None 或 System.Management.Automation.RemotingJob

當使用 AsJob 參數時,此 Cmdlet 會傳回工作物件。否則,這個 Cmdlet 不會產生任何輸出。

附註

此 Cmdlet 使用 WMI WIN32_OperatingSystem 類別的 Win32Shutdown 方法,

範例 1

C:\PS>restart-computer

描述
-----------
這個命令會重新啟動本機電腦。






範例 2

C:\PS>restart-computer -computername Server01, Server02, localhost

描述
-----------
這個命令會重新啟動 Server01 和 Server02 這兩台遠端電腦以及本機電腦 "localhost"。






範例 3

C:\PS>$j = restart-computer -computername Server01, Server02 -asjob 

C:\PS> $results = $j | receive-job

C:\PS> $results

描述
-----------
這些命令會在兩部遠端電腦上以背景工作形式執行 Restart-Computer 命令,然後取得結果。

第一個命令會使用 AsJob 參數,以背景工作執行命令。這個命令會將產生的工作物件儲存在 $j 變數中。

第二個命令使用管線運算子,將 $j 中的工作物件傳送給會取得工作結果的 Receive-Job Cmdlet。此命令會將結果儲存在 $results 變數中。

第三個命令會顯示儲存於 $results 變數中的結果。

因為 AsJob 參數會在本機電腦上建立工作,且自動將結果傳回本機電腦,所以您可以將 Receive-Job 命令當做本機命令來執行。






範例 4

C:\PS>restart-computer -comp Server01 -impersonation anonymous -authentication PacketIntegrity

描述
-----------
這個命令會重新啟動 Server01 遠端電腦。該命令使用自訂模擬與驗證設定。






範例 5

C:\PS>$s = get-content domain01.txt

C:\PS> $c = get-credential domain01\admin01

C:\PS> restart-computer -computername $s -force -throttlelimit 10 -credential $c

描述
-----------
這些命令會強制立即重新啟動 Domain01 中的所有電腦。

第一個命令會取得網域中的電腦清單並且將清單儲存於 $s 變數中。

第二個命令會取得網域系統管理員的認證,然後將這些認證儲存在 $c 變數中。

第三個命令會重新啟動所有電腦。該命令會使用 ComputerName 參數提交 $s 變數中的電腦清單、使用 Force 參數強制立即重新啟動電腦,然後使用 Credential 參數提交儲存於 $c 變數中的認證。它也會使用 ThrottleLimit 參數將命令限制為 10 個同時連線。






請參閱




目錄