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。