Поделиться через


Метод GetSecurityDescriptor класса Win32_Service (поставщики WMI CIMWin32)

Метод GetSecurityDescriptor возвращает дескриптор безопасности, который управляет доступом к службе. Дескриптор возвращается как экземпляр Win32_SecurityDescriptor.

Синтаксис

uint32 GetSecurityDescriptor(
  [out] Win32_SecurityDescriptor Descriptor
);

Параметры

Дескриптор [out]

Дескриптор безопасности, связанный со службой.

Возвращаемое значение

Возвращает одно из значений, перечисленных в следующем списке, или другое значение, указывающее ошибку. Дополнительные коды ошибок см. в разделе "Константы ошибок WMI" или WbemErrorEnum. Общие значения HRESULT см. в разделе "Коды системных ошибок".

Успешно

0

Запрос принят.

1

Запрос не поддерживается.

Доступ запрещен

2

У пользователя не было необходимого доступа.

3

Службу нельзя остановить, так как от нее зависят другие работающие службы.

4

Запрошенный управляющий код недопустим или неприемлем для данной службы.

5

Запрошенный код элемента управления не может быть отправлен в службу, так как состояние службы (Win32_BaseService.Свойство State ) равно 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. Дополнительные сведения см. в разделе "Константы привилегий" и "Выполнение привилегированных операций".

Примеры

При получении дескриптора безопасности в VBScript обязательно выполните команду Security и запустите как Администратор, как показано в следующем фрагменте кода. В противном случае код может вызвать ошибку разрешений.

Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate, (Security)}!\\" & strComputer & "\root\cimv2")

Аналогичным образом в VB.NET обязательно установите значение EnablePrivileges = True и запустите приложение как Администратор.

Scope = New ManagementScope([String].Format("\\{0}\root\CIMV2", ComputerName), Nothing)
Scope.Options.EnablePrivileges = True

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Пространство имен
Root\CIMV2
MOF
CIMWin32.mof
DLL-библиотеки
CIMWin32.dll

См. также

Win32_Service

Константы привилегий

Объекты дескриптора безопасности WMI

Изменение безопасности доступа в защищаемых объектах

Управление учетными записями пользователей и WMI