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,后者只选择处于“stopped”状态的服务。另一个管道运算符将选定的服务发送到 Restart-Service。在实践中,在使用此命令之前应使用 WhatIf 参数来查看此命令的影响。
另请参阅
概念
Start-Service
Stop-Service
Suspend-Service
Resume-Service
New-Service
Get-Service
Set-Service