共用方式為


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 僅適用於 Windows 平臺。

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

範例

範例 1:暫停服務

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

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

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

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

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

範例 3:取得和暫停服務

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

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

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

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

此命令會暫停電腦上所有可暫停的服務。 它會使用 Get-Service 來取得代表計算機上服務的物件。 管線運算符會將結果傳遞至 Where-Object Cmdlet,而此 Cmdlet 只會選取 CanPauseAndContinue 屬性值為 的服務$True。 另一個管線運算子會將結果傳遞至 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 物件。

備註

此 Cmdlet 僅適用於 Windows 平臺。

  • 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 數據行中。