Suspend-Service

暫停(暫停)一或多個執行中的服務。

Syntax

Suspend-Service
       [-InputObject] <ServiceController[]>
       [-PassThru]
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Suspend-Service
       [-Name] <String[]>
       [-PassThru]
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Suspend-Service
       [-PassThru]
       -DisplayName <String[]>
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

Cmdlet 會將 Suspend-Service 暫止訊息傳送至每個指定服務的 Windows 服務控制器。 暫停時,服務仍在執行中,但其動作會停止,直到繼續為止,例如使用 Resume-Service Cmdlet。 您可以依服務名稱或顯示名稱來指定服務,也可以使用 InputObject 參數來傳遞服務物件,代表您想要暫停的服務。

範例

範例 1:暫停服務

PS C:\> Suspend-Service -DisplayName "Telnet"

此命令會暫停本機電腦上的 Telnet 服務 (Tlntsvr) 服務。

範例 2:顯示暫停服務時會發生什麼事

PS C:\> Suspend-Service -Name lanman* -WhatIf

此命令會指出如果您暫停的服務名稱開頭為 lanman 的服務,會發生什麼情況。 若要暫停服務,請重新執行命令而不使用 WhatIf 參數。

範例 3:取得和暫停服務

PS C:\> Get-Service schedule | Suspend-Service

此命令會 Get-Service 使用 Cmdlet 取得物件,代表電腦上的工作排程器 (Schedule) 服務。 管線運算子 (|) 會將結果傳遞至 Suspend-Service,這會暫停服務。

範例 4:暫停所有可暫停的服務

PS C:\> Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service -Confirm

此命令會暫停電腦上所有可以暫停的服務。 它會使用 Get-Service 來取得代表計算機上服務的物件。 管線運算符會將結果傳遞至 Where-Object Cmdlet,該 Cmdlet 只會選取具有 $True CanPauseAndContinue 屬性值的服務。 另一個管線運算子會將結果傳遞至 Suspend-ServiceConfirm 參數會在暫停每個服務之前提示您確認。

參數

-Confirm

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

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

-DisplayName

指定要暫停之服務的顯示名稱。 允許通配符。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

指定要從指定服務省略的服務。 此參數的值會 限定Name 參數。 輸入名稱專案或模式,例如 「s*」。 允許通配符。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

指定要暫停的服務。 此參數的值會 限定Name 參數。 輸入名稱專案或模式,例如 「s*」。 允許通配符。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

指定要 暫停之服務的 ServiceController 物件。 輸入包含 物件的變數,或輸入取得物件的命令或表達式。

Type:ServiceController[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

指定要暫停的服務服務名稱。 允許通配符。

參數名稱是選擇性的。 您可以使用 Name 或其別名 ServiceName,或省略參數名稱。

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-PassThru

會傳回 物件,代表您正在使用的專案。 根據預設,此 Cmdlet 不會產生任何輸出。

Type:SwitchParameter
Position:Named
Default value:None
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

輸入

ServiceController

您可以使用管線將服務物件傳送至此 Cmdlet。

String

您可以使用管線將包含服務名稱的字串傳送至此 Cmdlet。

輸出

None

根據預設,此 Cmdlet 不會傳回任何輸出。

ServiceController

當您使用 PassThru 參數時,這個 Cmdlet 會 傳回代表服務的 ServiceController 物件。

備註

  • Suspend-Service 只有在目前使用者具有執行這項操作的許可權時,才能控制服務。 如果命令無法正常運作,您可能沒有必要的許可權。
  • Suspend-Service 只能暫停支持暫停和繼續的服務。 若要判斷是否可以暫停特定服務,請使用 Get-Service Cmdlet 搭配 CanPauseAndContinue 屬性。 例如: Get-Service wmi | Format-List Name, CanPauseAndContinue 。 若要在可以暫停的電腦上尋找所有服務,請輸入 Get-Service | Where-Object {$_.CanPauseAndContinue -eq $true}
  • 若您要在您的系統上尋找服務名稱與顯示服務名稱,請輸入 Get-Service。 服務名稱會出現在 [名稱] 資料行中,而顯示名稱會出現在 DisplayName 數據行中