Объект WMI SWbemSecurity

Объект WMI SWbemSecurity Объектная модель Windows Management Instrumentation

Объект SWbemSecurity позволяет считывать или записывать информацию об установках безопасности при подключении к пространству WMI для определенного объекта. Доступ к нему можно получить через свойство Security_ объектов SWbemLocator, SWbemServices, SWbemObjectSet, SWbemObject, SWbemObjectPath, SWbemLastError и SWbemEventSource. Данный объект не содержит методов, а только три свойства, давайте их рассмотрим.

AuthenticationLevel — Целое число, которое определяет уровень аутентификации (проверки подлинности). Я уже рассматривал уровни проверки подлинности, олицетворении и привилегии, в статье “Подключение к WMI с помощью моникера”. Поэтому приведу лишь взаимоотношение:

0 – None
1 – Default
2 – Connect
3 – Call
4 – Pkt
5 – PktIntegrity
6 – PktPrivacy

Вы можете прописать константы в сценарии, что бы не использовать цифры, например:

const wbemAuthenticationLevelDefault = 0

или

const wbemAuthenticationLevelPktPrivacy = 6

ImpersonationLevel — Целое число, которое определяет уровень олицетворения.

Privileges — данное свойство является ссылкой на объект SWbemPrivilegeSet, который позволяет задавать различные разришения (привилегии).

Теперь давайте рассмотрим описание объекта SWbemPrivilegeSet

SWbemPrivilegeSet

Данный объект является коллекцией объектов SWbemPrivilege, SWbemPrivilegeSet имеет в своем роспоряжении всего одно свойство и пять методов:

Count — Содержит число объектов SWbemPrivilege в коллекции SWbemPrivilegeSet, используется только для чтения.

Add(iPrivilege, [bIsEnabled = True]) – позволяет добавить в коллекцию объект SWbemPrivilege, возвращает ссылку на него. При условии, что объект с подобным именем уже существует, то происходит его перезапись. iPrivilege является целым числом или константой, которое задает разрешение, bIsEnabled – может принимать значения True (включить разрешение) или False (отключить разрешение). Параметр iPrivilege может принимать следующие значения, значения с префиксом  Se используются для метода AddAsString:

1 (wbemPrivilegeCreateToken, SeCreateTokenPrivilege) — создавать первичный маркер.
2 (wbemPrivilegePrimaryToken, SeAssignPrimaryTokenPrivilege) — назначать первичный маркер процесса.
3 (wbemPrivilegeLockMemory, SeLockMemoryPrivilege) — блокировать физические страницы в памяти.
4 (wbemPrivilegeIncreaseQuota, SeIncreaseQuotaPrivilege) — увеличивать квоту, назначенную на процесс.
5 (wbemPrivilegeMachineAccount, SeMachineAccountPrivilege) — создавать учетную запись машины.
6 (wbemPrivilegeTcb, SeTcbPrivilege) — держателя как часть доверенной компьютерной базы.
7 (wbemPrivilegeSecurity, SeSecurityPrivilege) — исполняет множество связанных с безопасностью функций, типа управления и рассмотрения сообщений аудита. Эта привилегия идентифицирует ее держателя как оператора безопасности.
8 (wbemPrivilegeTakeOwnership, SeTakeOwnershipPrivilege) — монопольное использования объекта без предоставления контролируемого доступа.
9 (wbemPrivilegeLoadDriver, SeLoadDriverPrivilege) — загрузка и выгрузка драйвера устройства.

10 (wbemPrivilegeSystemProfile, SeSystemProfilePrivilege) — сбор информации профилирования для всей системы.
11 (wbemPrivilegeSystemtime, SeSystemtimePrivilege) — изменение системной даты.
12 (wbemPrivilegeProfileSingleProcess, SeProfileSingleProcessPrivilege) — сбор информации профилирования для отдельного процесса.
13 (wbemPrivilegeIncreaseBasePriority, SeIncreaseBasePriorityPrivilege) — увеличить базовый приоритет процесса.
14 (wbemPrivilegeCreatePagefile, SeCreatePagefilePrivilege) — создавать файл подкачки.
15 (wbemPrivilegeCreatePermanent, SeCreatePermanentPrivilege) — создавать постоянный объект.
16 (wbemPrivilegeBackup, SeBackupPrivilege) – выполнить резервное копирование.
17 (wbemPrivilegeRestore, SeRestorePrivilege) — исполнять операции восстановления, установить любого допустимого пользователя или идентификатор безопасности группы (SID) как владельца объекта.
18 (wbemPrivilegeShutdown, SeShutdownPrivilege) — завершить работу локальной системы.
19 (wbemPrivilegeDebug, SeDebugPrivilege) — отладка процесса.
20 (wbemPrivilegeAudit, SeAuditPrivilege) — генерировать элементы лога аудита.
21 (wbemPrivilegeSystemEnvironment, SeSystemEnvironmentPrivilege) — изменять энергонезависимую RAM память систем, чтобы использовать этот тип памяти для хранения информации конфигурации.
22 (wbemPrivilegeChangeNotify, SeChangeNotifyPrivilege) — получать уведомления об изменениях файлов и каталогов. Это допускается по умолчанию для всех пользователей.
23 (wbemPrivilegeRemoteShutdown, SeRemoteShutdownPrivilege) — удалённо завершать работу системы.
24 (wbemPrivilegeUndock, SeUndockPrivilege) — удалять портативный компьютер из док-станции.
25 (wbemPrivilegeSyncAgent, SeSyncAgentPrivilege) — синхронизировать данные службы каталога.
26 (wbemPrivilegeEnableDelegation, SeEnableDelegationPrivilege) — разрешать учётные записи компьютера и пользователя для доверенного делегирования.

AddAsString(strPrivilege, [bIsEnabled = True]) – назначение аналогично предыдущему методу, просто тут используются в качестве ипараметра strPrivilege передается строка, например:

mSWbemLocator.Security_.Privileges.AddAsString("SeShutdownPrivilege")

Item(iPrivilege) – данный метод возвращает объект SWbemPrivilege, iPrivilege содержит число (константу), которая задает разрешение, возможные значения приведено в методе Add.

DeleteAll() – позволяет полностью очистить коллекцию

Remove(iPrivilege) – позволяет удалить заданное (iPrivilege) разрешение из коллекции.

Теперь давайте рассмотрим описание объекта SWbemPrivilege

SWbemPrivilege

Данный объект позволяет установить или удалить привилегию, необходимую для доступа к WMI. У него всего четыре свойства:

DisplayName – краткое описание разрешения, используется только для чтения.

Identifier – идентификатор разрешения (варианты описаны выше, метод Add)

IsEnabled — логическое True (включено) или False (отключено) разрешение

Name – хранит в себе имя разрешения.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий