Stop-Computer
停止(關閉)本地及遠端電腦。
語法
All
Stop-Computer
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-WsmanAuthentication <String>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
指令 Stop-Computer 長會關閉本地電腦和遠端電腦。
你可以用 的 Stop-Computer 參數來指定認證等級和替代憑證,並強制立即關機。
在 PowerShell 7.1 中, Stop-Computer 新增了 Linux 和 macOS 版本。 非Windows平台僅有 WhatIf、Confirm 以及 CommonParameters 參數。 指令檔只是呼叫原生指令 /sbin/shutdown。
範例
範例 1:關閉本地電腦
這個例子會關閉本地電腦。
Stop-Computer -ComputerName localhost
範例 2:關閉兩台遠端電腦和本地電腦
此範例會停止兩台遠端電腦與本地電腦。
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer 使用 ComputerName 參數來指定兩台遠端電腦與本地電腦。 每台電腦都關閉了。
範例三:將遠端電腦關機作為背景作業
在此範例中,作為 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 主控台中顯示工作資訊。
範例四:關閉遠端電腦
此範例是使用指定的認證方式關閉遠端電腦。
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 的電腦。
力場參數會強制立即關閉。
憑證參數會提交該$c變數中儲存的憑證。
參數
-ComputerName
指定電腦要停止。 預設值為本機電腦。
在逗號分隔清單中,輸入一或多部計算機的NETBIOS名稱、IP 位址或完整域名。 要指定本地電腦,請輸入電腦名稱或 localhost。
此參數不依賴 PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 ComputerName 參數。
此參數僅在 Windows 平台上提供。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 中國, __SERVER, Server, IP位址 |
參數集
(All)
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 參見 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設值為目前的使用者。
輸入使用者名稱,例如 User01 或 Domain01\User01,或輸入 Cmdlet 所產生的 Get-Credential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。
認證會儲存在 PSCredential 物件中,密碼會儲存為 secureString 。
Note
如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?。
此參數僅在 Windows 平台上提供。
參數屬性
| 類型: | PSCredential |
| 預設值: | Current user |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Force
強制立即關閉電腦。
此參數僅在 Windows 平台上提供。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 該 Cmdlet 未被執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 威斯康辛 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WsmanAuthentication
規定當此指令小程式使用 WSMan 協定時,用於驗證使用者憑證的機制。 預設值為 Default。
此參數可接受的值為:
- 基本
- CredSSP
- Default
- 摘要
- Kerberos
- 談判。
如需此參數值的詳細資訊,請參閱 AuthenticationMechanism。
Caution
憑證安全服務提供者(CredSSP)認證,即將使用者憑證傳送至遠端電腦進行驗證,設計用於需要在多個資源上進行認證的指令,例如存取遠端網路共享。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。
此參數是在 PowerShell 3.0 中引進的。 此參數僅在 Windows 平台上提供。
參數屬性
| 類型: | String |
| 預設值: | Default |
| 接受的值: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
None
您不能將物件透過管道傳送到此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
此指令小程式使用 Win32_OperatingSystem WMI 類別中的 Win32Shutdown 方法。 此方法需要啟用用於關機的使用者帳號權限 SeShutdownPrivilege 。
在 PowerShell 7.1 中, Stop-Computer 新增了 Linux 和 macOS 版本。 對於這些平台,指令檔會呼叫原生指令 /sbin/shutdown。