Restart-Computer
重新啟動 (「重新開機」) 本機與遠端電腦上的作業系統。
語法
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 |
預設值 |
目前使用者 |
接受管線輸入? |
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。 |
輸出 |
無或 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 個同時連線。
請參閱
概念
Add-Computer
Checkpoint-Computer
Remove-Computer
Restore-Computer
Stop-Computer
Test-Connection