Stop-Service

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

Syntax

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

Description

Cmdlet 會 Stop-Service 針對每個指定的服務,將停止訊息傳送至 Windows 服務控制器。 您可以依服務名稱或顯示名稱來指定服務,也可以使用 InputObject 參數來傳遞服務物件,此物件代表您想要停止的服務。

範例

範例 1:停止本機計算機上的服務

PS C:\> Stop-Service -Name "sysmonlog"

此命令會停止本機電腦上的效能記錄和警示 (SysmonLog) 服務。

範例 2:使用顯示名稱停止服務

PS C:\> Get-Service -DisplayName "telnet" | Stop-Service

此命令會停止本機電腦上的 Telnet 服務。 命令會使用 Get-Service 來取得代表 Telnet 服務的物件。 管線運算子 (|) 會將 物件管線傳送至 Stop-Service,以停止服務。

範例 3:停止具有相依服務的服務

PS C:\> Get-Service -Name "iisadmin" | Format-List -Property Name, DependentServices
PS C:\> Stop-Service -Name "iisadmin" -Force -Confirm

此範例會停止本機電腦上的 IIS 管理員 服務。 由於停止此服務也會停止相依於 IIS 的服務 管理員 服務,因此最好在 前面Stop-Service加上列出相依於 IIS 的服務 管理員 服務。

第一個命令會列出相依於 IIS 的服務 管理員。 它會使用 Get-Service 來取得代表 IIS 管理員 服務的物件。 管線運算子 (|) 會將結果傳遞至 Format-List Cmdlet。 此命令會使用 Format-List Property 參數,只列出服務的 NameDependentServices 屬性。

第二個命令會停止 IIS 管理員 服務。 需要 Force 參數,才能停止具有相依服務的服務。 命令會 使用 Confirm 參數,在使用者停止每個服務之前要求確認。

參數

-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

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

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

-Force

強制 Cmdlet 停止服務,即使該服務具有相依服務也一樣。

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

-Include

指定此 Cmdlet 停止的服務。 此參數的值會 限定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

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

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

-NoWait

表示此 Cmdlet 使用無等候選項。

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

-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 物件。

備註

Windows PowerShell 包含下列的 Stop-Service別名:

  • spsv

Stop-Service 只有在目前使用者具有執行這項操作的許可權時,才能控制服務。 如果命令無法正常運作,您可能沒有必要的許可權。

若您要在您的系統上尋找服務名稱與顯示服務名稱,請輸入 Get-Service。 服務名稱會出現在 Name 資料行中,而顯示名稱會出現在 DisplayName 數據行中