Suspend-Service
挂起(暂停)一个或多个正在运行的服务。
语法
Suspend-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Suspend-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Suspend-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
说明
Suspend-Service cmdlet 为每一个指定的服务向 Windows 服务控制器发送一条挂起消息。在挂起期间,服务仍在运行,但其操作已停止,直至通过使用 Resume-Service 等方法恢复该服务。您可以通过服务名称或显示名称来指定服务,也可以使用 InputObject 参数传递一个表示要挂起的服务的服务对象。
参数
-DisplayName <string[]>
指定要挂起的服务的显示名称。允许使用通配符。
是否为必需? |
true |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Exclude <string[]>
忽略指定服务。此参数的值对 Name 参数进行限定。请输入名称元素或模式,例如“s*”。允许使用通配符。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Include <string[]>
只挂起指定的服务。此参数的值对 Name 参数进行限定。请输入名称元素或模式,例如“s*”。允许使用通配符。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-InputObject <ServiceController[]>
指定 ServiceController 对象来表示要挂起的服务。输入一个包含对象的变量,或键入可获取对象的命令或表达式。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
true (ByValue) |
是否接受通配符? |
false |
-Name <string[]>
指定要挂起的服务的服务名称。允许使用通配符。
参数名为可选项。可以使用“Name”或其别名“ServiceName”,也可以忽略该参数名称。
是否为必需? |
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 可以将服务对象或包含服务名称的字符串通过管道传递给 Suspend-Service。 |
输出 |
“无”或 System.ServiceProcess.ServiceController 如果使用 PassThru 参数,则 Suspend-Service 生成表示服务的 System.ServiceProcess.ServiceController 对象。否则,此 cmdlet 将不产生任何输出。 |
说明
Suspend-Service 只有在当前用户有相应权限时才能控制服务。如果某个命令不能正常工作,则可能您不具有所需的权限。
而且,Suspend-Service 只能挂起支持被挂起和恢复的服务。若要确定是否可以挂起特定服务,请将 Get-Service cmdlet 与 CanPauseAndContinue 属性一起使用。例如,“get-service wmi | Format-List name, canpauseandcontinue”。要查找计算机上所有可挂起的服务,请键入“get-service | Where-Object {$_.canpauseandcontinue -eq "True"}”。
若要查找服务名称并显示您的系统中的服务名称,请键入“get-service”。服务名称显示在 Name 列中,显示名称显示在 DisplayName 列中。
示例 1
C:\PS>suspend-service -displayname "Telnet"
说明
-----------
此命令挂起本地计算机上的 Telnet 服务 (Tlntsvr)。
示例 2
C:\PS>suspend-service -name lanman* -whatif
说明
-----------
此命令显示在挂起服务名称以“lanman”开头的服务后会发生的情况。若要挂起服务,请在不带 WhatIf 参数的情况下重新运行该命令。
示例 3
C:\PS>get-service schedule | suspend-service
说明
-----------
此命令使用 Get-Service cmdlet 来获取计算机上表示任务计划程序 (Schedule) 服务的对象。管道运算符 (|) 将结果传递给 Suspend-Service cmdlet,该 cmdlet 将挂起服务。
示例 4
C:\PS>get-service | where-object {$_.canpauseandcontinue -eq "True"} | suspend-service -confirm
说明
-----------
此命令挂起计算机上所有可挂起的服务。它使用 Get-Service cmdlet 来获取计算机上表示相应服务的对象。管道运算符 (|) 将结果传递给 Where-Object cmdlet,该 cmdlet 只选择其 CanPauseAndContinue 属性值为“True”的服务。另一个管道运算符将结果传递给 Suspend-Service cmdlet。Confirm 参数用于在挂起每个服务前提示您进行确认。
另请参阅
概念
Get-Service
Start-Service
Stop-Service
Restart-Service
Resume-Service
Set-Service
New-Service