Stop-Computer

停止 (關閉) 本機和遠端電腦。

Syntax

Stop-Computer
    [-WsmanAuthentication <String>]
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Cmdlet Stop-Computer 會關閉本機計算機和遠端電腦。

您可以使用 的參數 Stop-Computer 來指定驗證層級和替代認證,並強制立即關閉。

在 PowerShell 7.1 中, Stop-Computer 已針對 Linux 和 macOS 新增。 這些參數對這些平台沒有任何作用。 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會關閉變數中$s具有 ComputerName 參數電腦清單所指定的電腦。 Force 參數會強制立即關機。 Credential 參數會提交儲存在變數中的$c認證。

參數

-ComputerName

指定要停止的電腦。 預設是本機電腦。

在逗號分隔清單中,輸入一或多部計算機的NETBIOS名稱、IP 位址或完整域名。 若要指定本機計算機,請輸入計算機名稱或localhost。

此參數不依賴 PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 ComputerName 參數。

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

執行 Cmdlet 之前先提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定具有執行此動作許可權的用戶帳戶。 預設為目前使用者。

輸入用戶名稱,例如User01或Domain01\User01,或輸入 Cmdlet 所產生的 Get-Credential PSCredential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。

認證會儲存在 PSCredential 物件中,密碼會儲存為 SecureString

注意

如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?

Type:PSCredential
Position:1
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

強制立即關閉電腦。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 未執行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WsmanAuthentication

指定當此 Cmdlet 使用 WSMan 通訊協定時,用來驗證使用者認證的機制。 預設值為 Default

此參數可接受的值為:

  • 基本
  • CredSSP
  • 預設
  • Digest
  • Kerberos
  • 洽談。

如需此參數值的詳細資訊,請參閱 AuthenticationMechanism

警告

認證安全性服務提供者 (CredSSP) 驗證,其中使用者認證會傳遞至要驗證的遠端電腦,是針對需要驗證多個資源的命令所設計,例如存取遠端網路共用。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。

此參數是在 PowerShell 3.0 中引進的。

Type:String
Accepted values:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

None

您無法使用管線將物件傳送至此 Cmdlet。

輸出

None

此 Cmdlet 不會傳回任何輸出。

備註

此 Cmdlet 使用 Win32Shutdown WMI 類別的 Win32_OperatingSystem 方法。 此方法需要 SeShutdownPrivilege 為用來關閉機器的用戶帳戶啟用許可權。

在 PowerShell 7.1 中, Stop-Computer 已針對 Linux 和 macOS 新增。 針對這些平臺,Cmdlet 會呼叫原生命令 /sbin/shutdown