停止一个或多个正在运行的服务。

语法

Stop-Service [-Name] <string[]> [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

Stop-Service -DisplayName <string[]> [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

Stop-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

说明

Stop-Service cmdlet 为每一个指定的服务向 Windows 服务控制器发送一条停止消息。您可以通过服务名称或显示名称来指定服务,也可以使用 InputObject 参数传递一个服务对象来表示要停止的服务。

参数

-DisplayName <string[]>

指定要停止的服务的显示名称。允许使用通配符。

是否为必需?

true

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Exclude <string[]>

忽略指定服务。此参数的值对 Name 参数进行限定。请输入名称元素或模式,例如“s*”。允许使用通配符。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Force

允许 cmdlet 停止服务(即使该服务有依赖服务)。

是否为必需?

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

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

输出

None 或 System.ServiceProcess.ServiceController

如果使用 PassThru 参数,则 Stop-Service 生成表示服务的 System.ServiceProcess.ServiceController 对象。否则,此 cmdlet 将不产生任何输出。

说明

还可以使用其内置别名“spsv”来引用 Stop-Service。有关详细信息,请参阅 about_Aliases。

Stop-Service 只有在当前用户有相应权限时才能控制服务。如果某个命令不能正常工作,则可能您不具有所需的权限。

若要查找服务名称并显示您的系统中的服务名称,请键入“get-service”。服务名称显示在 Name 列中,显示名称显示在 DisplayName 列中。

示例 1

C:\PS>stop-service sysmonlog

说明
-----------
此命令停止本地计算机上的性能日志和警报 (SysmonLog) 服务。






示例 2

C:\PS>get-service -displayname telnet | stop-service

说明
-----------
此命令停止本地计算机上的 Telnet 服务。此命令使用 Get-Service cmdlet 来获取表示 Telnet 服务的对象。管道运算符 (|) 通过管道将该对象传递给 Stop-Service cmdlet,该 cmdlet 将停止服务。






示例 3

C:\PS>get-service iisadmin | format-list -property name, dependentservices

C:PS>stop-service iisadmin -force -confirm

说明
-----------
Stop-Service 命令停止本地计算机上的 IISAdmin 服务。由于停止此服务时也会停止依赖于 IISAdmin 服务的服务,因此在执行 Stop-Service 命令之前,最好先执行相应命令以列出依赖于 IISAdmin 服务的服务。

第一条命令列出依赖于 IISAdmin 的服务。它使用 Get-Service cmdlet 来获取表示 IISAdmin 服务的对象。管道运算符 (|) 将结果传递给 Format-List cmdlet。该命令使用 Format-List 的 Property 参数来只列出该服务的 Name 和 DependentServices 属性。

第二条命令停止 IISAdmin 服务。需要使用 Force 参数来停止具有依赖服务的服务。该命令使用 Confirm 参数在停止每个服务之前请求用户进行确认。






另请参阅




目录