共用方式為


Stop-Computer

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

語法

Default (預設值)

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 不需要 Windows PowerShell 遠端處理。

範例

範例 1:關閉本機計算機

PS C:\> Stop-Computer

此命令會關閉本機電腦。

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

PS C:\> Stop-Computer -ComputerName "Server01", "Server02", "localhost"

此命令將停止兩台遠端電腦 Server01 和 Server02 以及標識為 localhost 的本地電腦。

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

PS C:\> $j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
PS C:\> $results = $j | Receive-Job
PS C:\> $results

這些命令在兩台遠端計算機上將 Stop-Computer 作為後台作業運行,然後獲取結果。

第一個命令指定 AsJob 參數以將命令作為後台作業運行。 命令會將產生的作業物件儲存在 $j 變數中。

第二個命令使用管道運算符將 $j 中的作業對象發送到 Receive-Job,後者獲取作業結果。 命令會將結果儲存在 $results 變數中。

第三個命令會顯示儲存在 $results 變數中的結果。

由於 AsJob 在本地電腦上創建作業並自動將結果返回到本地電腦,因此您可以將 Receive-Job 作為本地命令運行。

範例 4:關閉遠端電腦

PS C:\> Stop-Computer -CompupterName "Server01" -Impersonation anonymous -Authentication PacketIntegrity

此命令將停止 Server01 遠端電腦。 命令會使用自定義的模擬和驗證設定。

範例 5:

PS C:\> $s = Get-Content Domain01.txt
PS C:\> $c = Get-Credential domain01\admin01
PS C:\> Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c

這些命令會強制立即關閉 Domain01 中的所有電腦。

第一個命令獲取域中的計算機清單,然後將它們存儲在 $s 變數中。

第二個命令獲取域管理員的憑證,然後將其存儲在 $c 變數中。

第三個命令會關閉電腦。 它使用 ComputerName 參數提交 $s 變數中的電腦清單,使用 Force 參數強制立即關閉,並使用 Credential 參數提交保存在 $c 變數中的憑據。 它還使用 ThrottleLimit 參數將命令限制為 10 個併發連接。

參數

-AsJob

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

要使用此參數,必須將本地和遠端計算機配置為遠端處理,並且在 Windows Vista 及更高版本的 Windows作系統上,必須使用“以管理員身份運行”選項打開 Windows PowerShell。 如需詳細資訊,請參閱 about_Remote_Requirements。

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

如需 Windows PowerShell 背景工作的詳細資訊,請參閱about_Jobs和about_Remote_Jobs。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ComputerName

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

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

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

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False
別名:中國, __伺服器, 伺服器, IP位址

參數集

(All)
Position:0
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:cf

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Credential

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

輸入用戶名稱,例如User01或Domain01\User01,或輸入 PSCredential 物件,例如 Get-Credential Cmdlet 中的一個。

參數屬性

類型:PSCredential
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:1
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-DcomAuthentication

指定此 Cmdlet 搭配 WMI 使用的驗證層級。 Stop-Computer 使用 WMI。 此參數可接受的值為:

  • 違約。 Windows 驗證
  • 沒有。 沒有 COM 驗證
  • 連線。 線上層級 COM 驗證
  • 叫。 呼叫層級 COM 驗證
  • 包。 封包層級 COM 驗證
  • PacketIntegrity 的 Packet Integrity 中。 封包完整性層級 COM 驗證
  • PacketPrivacy 的 Packet Privacy 中。 封包隱私權層級 COM 驗證
  • 不變 與上一個命令相同

預設值為 Packet。

有關此參數的值的更多資訊,請參見 MSDN Library 中的 AuthenticationLevel Enumeration

參數屬性

類型:AuthenticationLevel
預設值:None
接受的值:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
支援萬用字元:False
不要顯示:False
別名:認證

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Force

強制立即關閉電腦。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Impersonation

指定此 Cmdlet 呼叫 WMI 時要使用的模擬層級。 Stop-Computer 使用 WMI。 此參數可接受的值為:

  • 違約。 默認模擬。
  • Anonymous。 隱藏呼叫者的身分識別。
  • 識別。 允許物件查詢呼叫端的認證。
  • 類比。 允許物件使用呼叫端的認證。

預設值為 Impersonate。

參數屬性

類型:ImpersonationLevel
預設值:None
接受的值:Default, Anonymous, Identify, Impersonate, Delegate
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Protocol

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

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

參數屬性

類型:String
預設值:None
接受的值:DCOM, WSMan
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ThrottleLimit

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

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

參數屬性

類型:Int32
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:無線

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-WsmanAuthentication

指定當此 Cmdlet 使用 WSMan 通訊協定時,用來驗證使用者認證的機制。 此參數可接受的值為:

  • 基本
  • CredSSP
  • 預設
  • 摘要
  • Kerberos
  • 談判。

預設值為 Default。

如需此參數值的詳細資訊,請參閱 MSDN 連結庫中 AuthenticationMechanism 列舉

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

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

參數屬性

類型:String
預設值:None
接受的值: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 or System.Management.Automation.RemotingJob

如果指定 AsJob 參數,則 cmdlet 將返回 System.Management.Automation.RemotingJob 物件。 否則,它不會產生任何輸出。

備註

  • 此 Cmdlet 會使用 Win32_OperatingSystem WMI 類別的 Win32Shutdown 方法。
  • 在 Windows PowerShell 2.0 中,當您重新啟動/停止遠端電腦時,AsJob 參數無法可靠地運作。 在 Windows PowerShell 3.0 中,實作已變更,以解決此問題。