停止 (關閉) 本機和遠端電腦。
語法
Stop-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>]
描述
Stop-Computer Cmdlet 會將遠端電腦關機,也可以關閉本機電腦。
您可以使用 Stop-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 連線的驗證層級 (Stop-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 時所使用的模擬層級 (Stop-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 會傳回工作物件 (System.Management.Automation.RemotingJob)。否則,這個 Cmdlet 不會產生任何輸出。 |
附註
此 Cmdlet 使用 Win32_OperatingSystem WMI 類別的 Win32Shutdown 方法。
範例 1
C:\PS>stop-computer 描述 ----------- 這個命令會關閉本機電腦。
範例 2
C:\PS>stop-computer -computername Server01, Server02, localhost 描述 ----------- 這個命令會停止 Server01 和 Server02 這兩台遠端電腦以及本機電腦 "localhost"。
範例 3
C:\PS>$j = stop-computer -computername Server01, Server02 -asjob C:\PS> $results = $j | receive-job C:\PS> $results 描述 ----------- 這些命令會在兩部遠端電腦上以背景工作形式執行 Stop-Computer 命令,然後取得結果。 第一個命令會使用 AsJob 參數,以背景工作執行命令。這個命令會將產生的工作物件儲存在 $j 變數中。 第二個命令使用管線運算子,將 $j 中的工作物件傳送給會取得工作結果的 Receive-Job Cmdlet。此命令會將結果儲存在 $results 變數中。 第三個命令會顯示儲存於 $results 變數中的結果。 因為 AsJob 參數會在本機電腦上建立工作,且自動將結果傳回本機電腦,所以您可以將 Receive-Job 命令當做本機命令來執行。
範例 4
C:\PS>stop-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> stop-computer -computername $s -force -throttlelimit 10 -credential $c 描述 ----------- 這些命令會強制 Domain01 中的所有電腦關機。 第一個命令會取得網域中的電腦清單並且將清單儲存於 $s 變數中。 第二個命令會取得網域系統管理員的認證,然後將這些認證儲存在 $c 變數中。 第三個命令會關閉電腦。該命令會使用 ComputerName 參數提交 $s 變數中的電腦清單、使用 Force 參數強制立即關閉電腦,然後使用 Credential 參數提交儲存於 $c 變數中的認證。它也會使用 ThrottleLimit 參數將命令限制為 10 個同時連線。
請參閱