Метод SetSecurityDescriptor класса __SystemSecurity
Метод SetSecurityDescriptor записывает обновленную версию дескриптора безопасности, который управляет доступом к пространству имен WMI, к которому вы подключены. Дескриптор безопасности представлен экземпляром __SecurityDescriptor. Дополнительные сведения см. в разделе Изменение безопасности доступа для защищаемых объектов.
Синтаксис
uint32 SetSecurityDescriptor(
[in] __SecurityDescriptor Descriptor
);
Параметры
-
Дескриптор [in]
-
Дескриптор безопасности, связанный с пространством имен WMI.
Возвращаемое значение
Возвращает одно из значений, перечисленных в следующем списке, или другое значение, указывающее на ошибку. Дополнительные сведения см. в разделах Коды возврата WMI или WbemErrorEnum.
-
0
-
Успешное завершение.
-
2
-
Пользователь не имеет доступа к запрошенной информации.
-
8
-
Неизвестный сбой.
-
9
-
Пользователь не имеет достаточных привилегий для выполнения метода .
-
21
-
Недопустимый параметр, указанный в вызове метода.
Комментарии
Экземпляр Win32_SecurityDescriptor представляет тип данных SECURITY_DESCRIPTOR_CONTROL и содержит список управления доступом на уровне пользователей (DACL) и список системных контроль доступа (SACL). Дополнительные сведения см. в разделе Списки контроль доступа.
Если параметр SeSecurityPrivilege не предоставляется или не включен при получении дескриптора безопасности, то в возвращенном дескрипторе безопасности возвращается только DACL. Дополнительные сведения см. в разделах Константы привилегий и Выполнение привилегированных операций.
При вызове этого метода можно обновить как DACL, так и saCL в экземпляре Win32_SecurityDescriptor , но также можно обновить только 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 |