共用方式為


Stop-Computer

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

語法

Stop-Computer
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

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

您可以使用 Stop-Computer 的參數,以背景作業執行關機作業、指定驗證層級和替代認證、限制建立以執行命令的並行連線,以及強制立即關閉。

除非您使用 AsJob 參數,否則此 Cmdlet 不需要 PowerShell 遠端處理。

範例

範例 1:關閉本機計算機

此範例會關閉本機電腦。

Stop-Computer -ComputerName localhost

範例 2:關閉兩部遠端計算機和本機電腦

此範例會停止兩部遠端計算機和本機電腦。

Stop-Computer -ComputerName "Server01", "Server02", "localhost"

Stop-Computer 使用 ComputerName 參數來指定兩部遠端電腦和本機電腦。 每部電腦都會關閉。

範例 3:關閉遠端計算機作為背景工作

在此範例中,Stop-Computer 在兩部遠端計算機上以背景工作的形式執行。

$j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
$results = $j | Receive-Job
$results

Stop-Computer 會使用 ComputerName 參數來指定兩部遠端電腦。 AsJob 參數會以背景工作的形式執行命令。 作業物件會儲存在 $j 變數中。

$j 變數中的作業物件會從管線向下傳送至 Receive-Job,以取得作業結果。 物件會儲存在 $results 變數中。 $results 變數會在PowerShell控制台中顯示作業資訊。

因為 AsJob 在本機電腦上建立作業,並自動將結果傳回本機電腦,因此您可以以本機命令的形式執行 Receive-Job

範例 4:關閉遠端電腦

這個範例會使用指定的驗證來關閉遠端計算機。

Stop-Computer -ComputerName "Server01" -Impersonation Anonymous -DcomAuthentication PacketIntegrity

Stop-Computer 會使用 ComputerName 參數來指定遠端電腦。 模擬 參數會指定自定義模擬,而 DcomAuthentication 參數會指定驗證層級設定。

範例 5:關閉網域中的計算機

在此範例中,命令會強制立即關閉指定網域中的所有計算機。

$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c

Get-Content 會使用 Path 參數,以取得具有網域計算機清單的目前目錄中的檔案。 物件會儲存在 $s 變數中。

Get-Credential 會使用 Credential 參數來指定網域系統管理員的認證。 認證會儲存在 $c 變數中。

Stop-Computer 會關閉 ComputerName 參數 $s 變數中電腦清單所指定的電腦。 Force 參數會強制立即關機。 ThrottleLimit 參數會將命令限制為 10 個並行連線。 Credential 參數會提交儲存在 $c 變數中的認證。

參數

-AsJob

表示此 Cmdlet 會以背景工作的形式執行。

若要使用此參數,本機和遠端計算機必須設定為遠端處理,而且,在 Windows Vista 和更新版本的 Windows作系統上,您必須使用 [以系統管理員身分執行] 選項 來開啟 PowerShell。 如需詳細資訊,請參閱 about_Remote_Requirements

當您指定 AsJob 參數時,命令會立即傳回代表背景工作的物件。 您可以在作業完成時繼續在工作階段中工作。 作業會在本機計算機上建立,而遠端計算機的結果會自動傳回至本機計算機。 若要取得作業結果,請使用 Receive-Job Cmdlet。

如需 PowerShell 背景工作的詳細資訊,請參閱 about_Jobsabout_Remote_Jobs

類型:SwitchParameter
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-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

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

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

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

注意

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

類型:PSCredential
Position:1
預設值:Current user
必要:False
接受管線輸入:False
接受萬用字元:False

-DcomAuthentication

指定此 Cmdlet 搭配 WMI 使用的驗證層級。 Stop-Computer 使用 WMI。 預設值為 Packet

此參數可接受的值為:

  • 預設:Windows 驗證。
  • :無 COM 驗證。
  • Connect:連線層級 COM 驗證。
  • 通話:通話層級 COM 驗證。
  • 封包:封包層級 COM 驗證。
  • PacketIntegrity:封包完整性層級 COM 驗證。
  • PacketPrivacy:封包隱私權層級 COM 驗證。
  • 未變更:與上一個命令相同。

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

類型:AuthenticationLevel
別名:Authentication
接受的值:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
預設值:Packet
必要:False
接受管線輸入:False
接受萬用字元:False

-Force

強制立即關閉電腦。

類型:SwitchParameter
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-Impersonation

指定此 Cmdlet 呼叫 WMI 時要使用的模擬層級。 預設值為 Impersonate

Stop-Computer 使用 WMI。 此參數可接受的值為:

  • 預設:預設模擬。
  • 匿名:隱藏呼叫者的身分識別。
  • 識別:允許對象查詢呼叫端的認證。
  • 模擬:允許物件使用呼叫者的認證。
類型:ImpersonationLevel
接受的值:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
預設值:Impersonate
必要:False
接受管線輸入:False
接受萬用字元:False

-Protocol

指定要用來重新啟動電腦的通訊協定。 這個參數可接受的值為:WSManDCOM。 預設值為 DCOM

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

類型:String
接受的值:DCOM, WSMan
Position:Named
預設值:DCOM
必要:False
接受管線輸入:False
接受萬用字元:False

-ThrottleLimit

指定可以建立以執行此命令的並行連線數目上限。 如果您省略此參數或輸入 0 值,則會使用預設值 32。

節流限制僅適用於目前的命令,不適用於會話或計算機。

類型:Int32
Position:Named
預設值:None
必要: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 不會傳回任何輸出。

System.Management.Automation.RemotingJob

當您使用 AsJob 參數時,這個 Cmdlet 會傳回 RemotingJob 物件。

備註

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