__SystemSecurity 类的 SetSecurityDescriptor 方法

SetSecurityDescriptor 方法会编写更新的安全描述符版本,该描述符控制你连接到的 WMI 命名空间的访问。 安全描述符由 __SecurityDescriptor实例表示。 有关详细信息,请参阅 更改安全对象上的访问安全性

语法

uint32 SetSecurityDescriptor(
  [in] __SecurityDescriptor Descriptor
);

parameters

描述符 [in]

与 WMI 命名空间关联的安全描述符。

返回值

返回以下列表中列出的值之一,或者返回其他值来指示错误。 有关详细信息,请参阅 WMI 返回代码WbemErrorEnum

0

成功完成。

2

用户无权访问请求的信息。

8

未知失败。

9

用户没有足够的权限来执行该方法。

21

方法调用中指定的参数无效。

备注

Win32_SecurityDescriptor实例表示一个SECURITY_DESCRIPTOR_CONTROL数据类型,其中包含 DACL) 和系统访问控制列表 (SACL) 的任意访问控制 (列表。 有关详细信息,请参阅访问控制列表

如果在获取安全描述符时未授予或启用 SeSecurityPrivilege ,则返回的安全描述符中仅返回 DACL。 有关详细信息,请参阅 Privilege Constants执行 Privileged Operations

调用此方法时,可以在 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
命名空间
所有 WMI 命名空间

另请参阅

__SystemSecurity

设置 Namepace 安全描述符