Win32_Service 类的 SetSecurityDescriptor 方法 (CIMWin32 WMI 提供程序)
SetSecurityDescriptor 方法编写安全描述符的更新版本,用于控制对服务的访问。
语法
uint32 SetSecurityDescriptor(
[in] Win32_SecurityDescriptor Descriptor
);
参数
-
描述符 [in]
-
与服务关联的安全描述符。
返回值
返回以下列表中列出的值之一,或者返回指示错误的其他值。 有关其他错误代码,请参阅 WMI 错误常量 或 WbemErrorEnum。 有关常规 HRESULT 值,请参阅 系统错误代码。
-
Success
-
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
-
该服务目前在系统中已暂停。
-
其他
-
22 4294967295
备注
Win32_SecurityDescriptor 实例表示SECURITY_DESCRIPTOR_CONTROL数据类型,并包含 DACL) (自由访问控制列表和 SACL) (系统访问控制列表。 有关详细信息,请参阅访问控制列表。
如果在获取安全描述符时未授予或启用 SeSecurityPrivilege ,则在返回的安全描述符中仅返回 DACL。 有关详细信息,请参阅特权常量和执行特权操作。
调用此方法时,可以更新 Win32_SecurityDescriptor 实例中的 DACL 和 SACL,但也可以仅更新 DACL 或 SACL。
SECURITY_DESCRIPTOR_CONTROL中的以下值确定是否更新 DACL 和/或 SACL。
SE_DACL_PRESENT
指示应更新 DACL。 如果未设置此值,则 WMI 将保留 DACL 的原始值。
SE_SACL_PRESENT
指示应更新 SACL。 如果未设置此值,则 WMI 将保留 SACL 的原始值。 若要更新 SACL,帐户必须启用 SeSecurityPrivilege 特权。 对于脚本,特权名称为 SeSecurityPrivilege。 有关详细信息,请参阅 Privilege Constants。
如果组受托人和所有者受托人属性不为 NULL,则更新它们。 否则,WMI 将保留原始值。 有关详细信息,请参阅 WMI 安全描述符对象。
如果调用此方法中新的 SACL 为 NULL ,则目标安全对象上的安全描述符 SACL 保持不变。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
命名空间 |
Root\CIMV2 |
MOF |
|
DLL |
|