挂起(暂停)一个或多个正在运行的服务。

语法

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 or System.String

可以将服务对象或包含服务名称的字符串通过管道传递给 Suspend-Service。

输出

None 或 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 参数用于在挂起每个服务前提示您进行确认。






另请参阅




目录