Win32_Service 类的 StopService 方法 (终端服务的 Sdoias.h)
StopServiceWMI 类方法将Win32_TerminalService对象表示的服务置于停止状态。
本主题使用托管对象格式 (MOF) 语法。 有关使用此方法的详细信息,请参阅 调用方法。
语法
uint32 StopService();
参数
此方法没有任何参数。
返回值
返回以下列表中列出的值之一,或返回指示错误的任何其他值。 有关其他错误代码,请参阅 WMI 错误常量 或 WbemErrorEnum。 有关常规 HRESULT 值,请参阅 系统错误代码。
-
0
-
已接受该请求。
-
1
-
不支持该请求。
-
2
-
用户没有必要的访问权限。
-
3
-
由于其他正在运行的服务依赖于该服务,不能停止该服务。
-
4
-
请求的控制代码无效或服务无法接受该控制代码。
-
5
-
无法将请求的控制代码发送到服务,因为服务的状态 (Win32_BaseService。状态 属性) 等于 0、1 或 2。
-
6
-
该服务尚未启动。
-
7
-
该服务未及时响应启动请求。
-
8
-
启动服务时出现未知失败。
-
9
-
找不到服务可执行文件的目录路径。
-
10
-
服务已在运行。
-
11
-
要添加新服务的数据库已锁定。
-
12
-
此服务依赖的依赖项已从系统中删除。
-
13
-
该服务无法从依赖的服务中找到所需的服务。
-
14
-
已从系统禁用该服务。
-
15
-
服务没有在该系统上运行所需的正确身份验证。
-
16
-
正在从系统中删除此服务。
-
17
-
服务没有执行线程。
-
18
-
服务启动时具有循环依赖项。
-
19
-
服务以同一名称运行。
-
20
-
服务名称包含无效字符。
-
21
-
已将无效参数传递给服务。
-
22
-
运行此服务的帐户无效或缺少运行服务的权限。
-
23
-
系统的服务数据库中已存在该服务。
-
24
-
该服务目前在系统中已暂停。
备注
确定可以停止或暂停哪些服务后,可以使用 StopService 和 PauseService 方法来停止和暂停服务。 决定停止服务而不是暂停服务,反之亦然,取决于多个因素,包括:
- 服务是否能够暂停? 否则,唯一的选择是停止服务。
- 是否需要继续处理已连接到该服务的任何人的客户端请求? 如果是这样,暂停服务通常允许它处理现有客户端,同时拒绝访问新客户端。 相反,停止服务时,所有客户端都会立即断开连接。
- 是否需要重新配置服务并让更改立即生效? 尽管可以在服务暂停时更改服务属性,但大多数属性在服务实际停止并重启之前不会生效。
停止服务所需的脚本代码几乎与暂停服务所需的代码相同。
如果尝试停止运行依赖服务的服务, StopService 方法将失败,返回值 3。 必须先停止从属服务。
如果停止服务,请立即检查Win32_TerminalService。State 属性,因为值可能仍显示服务正在运行。
示例
Set-RemoteService PowerShell 示例设置远程计算机的服务状态。
停止服务及其依赖项 VBScript 示例停止服务和所有依赖服务。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
命名空间 |
Root\CIMv2\TerminalServices |
标头 |
|
MOF |
|
DLL |
|