Stop-Computer
停止 (關閉) 本機和遠端電腦。
語法
Stop-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Stop-Computer
Cmdlet 會關閉本機電腦和遠端電腦。
您可以使用 Stop-Computer
的參數來指定驗證層級和替代認證,並強制立即關閉。
在 PowerShell 7.1 中,已針對 Linux 和 macOS 新增 Stop-Computer
。 這些參數對這些平台沒有任何作用。 Cmdlet 只會呼叫原生命令 /sbin/shutdown
。
範例
範例 1:關閉本機計算機
此範例會關閉本機電腦。
Stop-Computer -ComputerName localhost
範例 2:關閉兩部遠端計算機和本機電腦
此範例會停止兩部遠端計算機和本機電腦。
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer
使用 ComputerName 參數來指定兩部遠端電腦和本機電腦。 每部電腦都會關閉。
範例 3:關閉遠端計算機作為背景工作
在此範例中,Stop-Computer
在兩部遠端計算機上以背景工作的形式執行。
背景運算子 &
以背景工作的形式執行 Stop-Computer
命令。 如需詳細資訊,請參閱 about_Operators。
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results
Stop-Computer
會使用 ComputerName 參數來指定兩部遠端電腦。
&
背景運算符會以背景工作的形式執行 命令。 作業物件會儲存在 $j
變數中。
$j
變數中的作業物件會從管線向下傳送至 Receive-Job
,以取得作業結果。 物件會儲存在 $results
變數中。
$results
變數會在PowerShell控制台中顯示作業資訊。
範例 4:關閉遠端電腦
這個範例會使用指定的驗證來關閉遠端計算機。
Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos
Stop-Computer
會使用 ComputerName 參數來指定遠端電腦。
WsmanAuthentication 參數會指定使用 Kerberos 建立遠端連線。
範例 5:關閉網域中的計算機
在此範例中,命令會強制立即關閉指定網域中的所有計算機。
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c
Get-Content
會使用 Path 參數,以取得具有網域計算機清單的目前目錄中的檔案。 物件會儲存在 $s
變數中。
Get-Credential
會使用 Credential 參數來指定網域系統管理員的認證。 認證會儲存在 $c
變數中。
Stop-Computer
會關閉 ComputerName 參數 $s
變數中電腦清單所指定的電腦。
Force 參數會強制立即關機。
Credential 參數會提交儲存在 $c
變數中的認證。
參數
-ComputerName
指定要停止的電腦。 預設值為本機計算機。
在逗號分隔清單中,輸入一或多部計算機的NETBIOS名稱、IP 位址或完整域名。 若要指定本機計算機,請輸入計算機名稱或localhost。
此參數不依賴 PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 ComputerName 參數。
類型: | String[] |
別名: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設值為目前的使用者。
輸入使用者名稱,例如 User01 或 Domain01\User01,或輸入 Get-Credential
Cmdlet 所產生的 PSCredential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。
認證會儲存在 PSCredential 物件中,密碼會儲存為 secureString 。
注意
如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?。
類型: | PSCredential |
Position: | 1 |
預設值: | Current user |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
強制立即關閉電腦。
類型: | SwitchParameter |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WsmanAuthentication
指定當此 Cmdlet 使用 WSMan 通訊協定時,用來驗證使用者認證的機制。 預設值為 Default。
此參數可接受的值為:
- 基本
- CredSSP
- 違約
- 消化
- Kerberos
- 談判。
如需此參數值的詳細資訊,請參閱 AuthenticationMechanism。
謹慎
認證安全性服務提供者 (CredSSP) 驗證,其中使用者認證會傳遞至要驗證的遠端電腦,是針對需要驗證多個資源的命令所設計,例如存取遠端網路共用。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。
此參數是在 PowerShell 3.0 中引進的。
類型: | String |
接受的值: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
預設值: | Default |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
此 Cmdlet 使用
Win32_OperatingSystem
WMI 類別的 Win32Shutdown
方法。 此方法需要為用來關閉機器的用戶帳戶啟用 SeShutdownPrivilege
許可權。
在 PowerShell 7.1 中,已針對 Linux 和 macOS 新增 Stop-Computer
。 針對這些平臺,Cmdlet 會呼叫原生命令 /sbin/shutdown
。