Restart-Service
停止服務並接著啟動一或多個服務。
語法
Restart-Service [-Name] <string[]> [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Restart-Service -DisplayName <string[]> [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Restart-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
描述
Restart-Service Cmdlet 會先傳送停止訊息、然後傳送開始訊息給指定之服務的 Windows 服務控制器。如果服務已經停止,它會直接啟動而不通知您發生錯誤。您可以依服務名稱或是顯示名稱指定服務,或是使用 InputObject 參數傳遞代表各個要重新啟動之服務的物件。
參數
-DisplayName <string[]>
指定要重新啟動之服務的顯示名稱。允許使用萬用字元。
必要? |
true |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Exclude <string[]>
忽略指定的服務。此參數的值用於限定 Name 參數。輸入名稱元素或模式,例如 "s*"。允許使用萬用字元。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Force
覆蓋限制以免命令無法成功執行,但僅限於變更不會危害安全性的部分。例如,Force 會停止並重新啟動具有依存服務的服務。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Include <string[]>
只重新啟動指定的服務。此參數的值用於限定 Name 參數。輸入名稱元素或模式,例如 "s*"。允許使用萬用字元。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-InputObject <ServiceController[]>
指定代表要重新啟動之服務的 ServiceController 物件。請輸入包含物件的變數,或輸入可取得物件的命令或運算式。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByValue) |
接受萬用字元? |
false |
-Name <string[]>
指定要重新啟動之服務的服務名稱。
必要? |
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 您可以經由管道將服務物件或包含服務名稱的字串輸出至 Restart-Service。 |
輸出 |
無或 System.ServiceProcess.ServiceController 當您使用 PassThru 參數時,Restart-Service 會產生代表已重新啟動之服務的 System.ServiceProcess.ServiceController 物件,否則,這個 Cmdlet 不會產生任何輸出。 |
附註
Restart-Service 只能在目前使用者具有相關執行權限時控制該服務。如果命令無法正常運作,可能表示您不具有必要權限。
若要尋找系統上所有服務的服務名稱和顯示名稱,請輸入 "Get-Service"。服務名稱會出現在 Name 一欄中,而顯示名稱會出現在 DisplayName 一欄中。
範例 1
C:\PS>restart-service wmi
描述
-----------
這個命令會重新啟動本機電腦上的 Windows Management Instrumentation (WMI) 服務。
範例 2
C:\PS>restart-service -displayname net* -exclude "net logon"
描述
-----------
這個命令會重新啟動顯示名稱開頭為 "Net" 的服務,但 "Net Logon" 服務除外。
範例 3
C:\PS>get-service net* | where-object {$_.Status -eq "Stopped"} | restart-service
描述
-----------
這個命令會啟動電腦上所有已經停止的網路服務。
它會使用 Get-Service Cmdlet 取得代表服務名稱開頭為 "net" 之服務的物件 (已省略選擇性的 Name 參數名稱)。管線運算子 (|) 會將這些服務物件傳送給 Where-Object Cmdlet,該 Cmdlet 只會選取狀態為 "stopped" 的服務。另一個管線運算子會將選取的服務傳送給 Restart-Service。實際上,您可以在使用此命令之前先用 WhatIf 參數查看其功用。
請參閱
概念
Start-Service
Stop-Service
Suspend-Service
Resume-Service
New-Service
Get-Service
Set-Service