Restart-Service
停止,然後啟動一或多個服務。
語法
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 會 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 的服務,但 Net Logon 服務除外。
範例 3:啟動所有已停止的網路服務
PS C:\> Get-Service -Name "net*" | Where-Object {$_.Status -eq "Stopped"} | Restart-Service
此命令會啟動電腦上所有已停止的網路服務。
此命令會 Get-Service
使用 Cmdlet 來取得物件,這些物件表示服務名稱開頭為 net 的服務。 管線運算符 (|
) 會將 services 物件傳送至 Where-Object
Cmdlet,該 Cmdlet 只會選取狀態為已停止的服務。 另一個管線運算子會將選取的服務傳送至 Restart-Service
。
在實務上 ,您會使用 WhatIf 參數來判斷命令的效果,再執行命令。
參數
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DisplayName
指定要重新啟動之服務的顯示名稱。 允許通配符。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | True |
-Exclude
指定此 Cmdlet 省略的服務。 此參數的值會 限定Name 參數。 輸入名稱專案或模式,例如 s*。 允許通配符。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | True |
-Force
強制命令執行,而不要求使用者確認。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Include
指定此 Cmdlet 重新啟動的服務。 此參數的值會 限定Name 參數。 輸入名稱專案或模式,例如 s*。 允許通配符。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | True |
-InputObject
指定要 重新啟動之服務的 ServiceController 物件。 輸入包含 物件的變數,或輸入取得物件的命令或表達式。
類型: | ServiceController[] |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Name
指定要重新啟動之服務的服務名稱。
類型: | String[] |
別名: | ServiceName |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | True |
-PassThru
傳回物件,表示服務。 根據預設,此 Cmdlet 不會產生任何輸出。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線將服務物件傳送至此 Cmdlet。
您可以使用管線將包含服務名稱的字串傳送至此 Cmdlet。
輸出
None
根據預設,此 Cmdlet 不會傳回任何輸出。
當您使用 PassThru 參數時,此 Cmdlet 會 傳回代表重新啟動服務的 ServiceController 物件。
備註
Restart-Service
只有在目前使用者具有執行這項操作的許可權時,才能控制服務。 如果命令無法正常運作,您可能沒有必要的許可權。- 若要在您的系統上尋找服務名稱和顯示服務名稱,請輸入
Get-Service
” 服務名稱會出現在 [名稱] 資料行中,而顯示名稱會出現在 DisplayName 數據行中。