Выполнение привилегированных операций с помощью VBScript

Если вы используете API скриптов для WMI, можно задать определенные привилегии безопасности. Например, можно задать права безопасности, чтобы запросить завершение работы операционной системы или проверить журнал событий безопасности. Дополнительные сведения см. в разделе Выполнение с особыми привилегиями.

Необходимо задать привилегии только при доступе к инструментарию WMI на компьютере. При доступе к удаленному узлу COM RPC автоматически устанавливает привилегии. Чтобы определить все необходимые привилегии, обратитесь к документации по определенным классам WMI, к которым вы хотите получить доступ, например Win32_OperatingSystem. Дополнительные сведения см. в разделе WbemPrivilegeEnum.

В этой статье рассматриваются следующие разделы:

Задание привилегии из объекта Security_

Используйте следующую процедуру, чтобы задать привилегии безопасности в Visual Basic.

Настройка привилегий в Visual Basic

  1. Создайте объект типа SWbemLocator.

  2. Добавьте новое разрешение в объект SWbemLocator.Security_ .

    Объект Security_ содержит коллекцию SWbemObjectSet . Объекты в наборе являются объектами SWbemSecurity . Дополнительные сведения см. в разделе Доступ к коллекции.

  3. Войдите в WMI и получите объект SWbemServices .

    Объект SWbemServices наследует привилегию, заданную на предыдущем шаге.

Вы также можете задать привилегию с помощью метода SWbemPrivilegeSet.AddAsString .

Задание привилегии как части моникера

Вы можете задать привилегию как часть моникера.

В следующем примере показано, как добавить привилегию отладки к моникелю.

Set Service = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}")

Отзыв и сброс привилегий

В следующем примере показано, как задать привилегию SeDebugPrivilege и отозвать привилегию SeRemoteShutdownPrivilege .

Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")

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

Выполнение привилегированных операций