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


Выполнение привилегированных операций с помощью 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)}")

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

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