共用方式為


Restart-Service

停止然後啟動一或多個服務。

Syntax

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

Description

此 Cmdlet 僅適用於 Windows 平臺。

Cmdlet 會 Restart-Service 傳送停止訊息,然後將啟動訊息傳送至指定服務的 Windows 服務控制器。 如果服務已停止,它會啟動而不會以錯誤訊息通知您。 您可以依服務的服務名稱或顯示名稱來指定服務,或是使用 InputObject 參數來傳送代表每個要重新啟動之服務的物件。

範例

範例 1:重新啟動本機電腦上的服務

PS C:\> Restart-Service -Name winmgmt

此命令會重新啟動本機電腦上的 Windows Management Instrumentation 服務 (WinMgmt)。

範例 2:排除服務

PS C:\> Restart-Service -DisplayName "net*" -Exclude "net logon"

此命令會重新啟動除了 Net Logon 服務之外,所有顯示名稱開頭為 Net 的服務。

範例 3:啟動所有已停止的網路服務

PS C:\> Get-Service -Name "net*" | Where-Object {$_.Status -eq "Stopped"} | Restart-Service

此命令啟動電腦上所有已停止的網路服務。

此命令會 Get-Service 使用 Cmdlet 來取得物件,代表服務名稱開頭為 net 的服務。 管線運算子 (|) 將服務對象傳送至 Where-Object Cmdlet,其只會選取狀態為已停止的服務。 另一個管線運算子會將選取的服務傳送至 Restart-Service

在實務上,您會先使用 WhatIf 參數來判斷此命令的效果,然後再執行它。

參數

-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

強制執行命令而不要求使用者確認。

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

-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 平臺。

  • Restart-Service 只有在目前用戶有權執行這項操作時,才能控制服務。 若命令無法正確運作,您可能沒有必要的權限。
  • 若要在您的系統上尋找服務名稱和顯示服務名稱,請輸入 Get-Service” 服務名稱會出現在 [名稱 ] 資料行中,而顯示名稱會出現在 DisplayName 數據行 中。