__SystemSecurity 类的 SetSecurityDescriptor 方法
SetSecurityDescriptor 方法编写安全描述符的更新版本,用于控制对所连接的 WMI 命名空间的访问权限。 安全描述符表示为 __SecurityDescriptor 的实例。 有关详细信息,请参阅更改安全对象的访问安全性。
语法
uint32 SetSecurityDescriptor(
[in] __SecurityDescriptor Descriptor
);
parameters
-
Descriptor [in]
-
与项关联的安全描述符。
返回值
返回以下列表中列出的值之一,或返回指示错误的其他值。 有关详细信息,请参阅 WMI 返回代码或 WbemErrorEnum。
-
0
-
成功完成。
-
2
-
用户无权访问请求的信息。
-
8
-
未知故障。
-
9
-
用户没有足够的权限来执行方法。
-
21
-
方法调用中指定的参数无效。
备注
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。 有关详细信息,请参阅特权常量。
如果组的被信任方和所有者的被信任方属性不为 NULL,则将更新属性。 否则,WMI 会保留原始值。 有关详细信息,请参阅 WMI 安全描述符对象。
如果调用此方法时新的 SACL 为 NULL,则目标安全对象上的安全描述符 SACL 保持不变。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
命名空间 |
所有 WMI 命名空间 |