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
Restart-Service Cmdlet 可針對指定的服務向 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,它只會選取狀態為 stopped 的服務。 另一個管線運算子會將選取的服務傳送至 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 |
輸入
System.ServiceProcess.ServiceController, System.String
您可以使用管線將服務物件或包含服務名稱的字串傳送至此 Cmdlet。
輸出
None, System.ServiceProcess.ServiceController
如果您指定 PassThru 參數,此 Cmdlet 會產生代表重新啟動之服務的 System.ServiceProcess.ServiceController 物件。 否則,此 Cmdlet 不會產生任何輸出。
備註
- 只有當目前的使用者具有控制服務的權限時,Restart-Service 才能控制服務。 若命令無法正確運作,您可能沒有必要的權限。
- 若要尋找系統上的服務名稱和顯示服務名稱,請輸入 Get-Service” 服務名稱會出現在 [ 名稱 ] 資料行中,而顯示名稱會出現在 DisplayName 數據行中。