Метод 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 |
|
DLL-библиотеки |
|