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

語法

Suspend-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

Suspend-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

Suspend-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

描述

Suspend-Service Cmdlet 會針對每一個指定的服務傳送暫停訊息給 Windows 服務控制器。服務暫停時仍在執行中,但是它的動作在恢復執行之前會停止,例如使用 Resume-Service 即可恢復。您可以根據服務名稱或是顯示名稱指定服務,或是使用 InputObject 參數傳遞代表要暫停之服務的服務物件。

參數

-DisplayName <string[]>

指定要暫停之服務的顯示名稱。允許使用萬用字元。

必要?

true

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Exclude <string[]>

忽略指定的服務。此參數的值用於限定 Name 參數。輸入名稱元素或模式,例如 "s*"。允許使用萬用字元。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Include <string[]>

只暫停指定的服務。此參數的值用於限定 Name 參數。輸入名稱元素或模式,例如 "s*"。允許使用萬用字元。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-InputObject <ServiceController[]>

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

必要?

false

位置?

named

預設值

接受管線輸入?

true (ByValue)

接受萬用字元?

false

-Name <string[]>

指定要暫停之服務的服務名稱。允許使用萬用字元。

參數名稱為選擇性。您可使用 "Name" 或其別名 "ServiceName",亦可省略參數名稱。

必要?

true

位置?

1

預設值

接受管線輸入?

true (ByValue, ByPropertyName)

接受萬用字元?

false

-PassThru

傳回代表服務的物件。根據預設,此 Cmdlet 不會產生任何輸出。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Confirm

在執行命令前先提示確認。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-WhatIf

說明執行命令時將會發生何種情況,但不會實際執行命令。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

System.ServiceProcess.ServiceController 或 System.String

您可以經由管道將服務物件或包含服務名稱的字串輸出至 Suspend-Service。

輸出

None 或 System.ServiceProcess.ServiceController

當您使用 PassThru 參數時,Suspend-Service 會產生代表此服務的 System.ServiceProcess.ServiceController 物件,否則,這個 Cmdlet 不會產生任何輸出。

附註

Suspend-Service 只能在目前使用者具有相關執行權限時控制該服務。如果命令無法正常運作,可能表示您不具有必要權限。

另外,Suspend-Service 只能暫停可支援暫停及恢復動作的服務。若要判斷特定服務是否可以暫停,請搭配 "CanPauseAndContinue" 屬性使用 Get-Service Cmdlet。例如,"get-service wmi | Format-List name, canpauseandcontinue"。若要找出電腦上可以進行暫停的所有服務,請輸入 "Get-Service | Where-Object {$_.canpauseandcontinue -eq "True"}"。

若要尋找系統上所有服務的服務名稱和顯示名稱,請輸入 "Get-Service"。此服務名稱顯示於 Name 欄,顯示名稱則顯示於 DisplayName 欄。

範例 1

C:\PS>suspend-service -displayname "Telnet"

描述
-----------
這個命令會暫停本機電腦上的 Telnet 服務 (Tlntsvr)。






範例 2

C:\PS>suspend-service -name lanman* -whatif

描述
-----------
這個命令會告訴您當暫停的服務名稱開頭為 "lanman" 時,將會發生何種情況。若要暫停這些服務,請在不含 WhatIf 參數條件下再執行一次這個命令。






範例 3

C:\PS>get-service schedule | suspend-service

描述
-----------
這個命令會用 Get-Service Cmdlet,取得代表電腦上「工作排程器」 (Schedule) 服務的物件。管線運算子 (|) 會將結果傳送到 Suspend-Service Cmdlet,並由此 Cmdlet 暫停該服務。






範例 4

C:\PS>get-service | where-object {$_.canpauseandcontinue -eq "True"} | suspend-service -confirm

描述
-----------
這個命令會暫停電腦上可進行暫停的所有服務。它會使用 Get-Service Cmdlet 取得代表電腦上之服務的物件。管線運算子 (|) 會將結果傳遞給 Where-Object Cmdlet,此 Cmdlet 只選取 CanPauseAndContinue 屬性的值為 "True" 的服務。另一個管線運算子會將結果傳送到 Suspend-Service Cmdlet。Confirm 參數會在暫停每個服務之前先提示確認。






請參閱




目錄