Выполнение привилегированных операций с помощью VBScript
Если вы используете API скриптов для WMI, можно задать определенные привилегии безопасности. Например, можно задать права безопасности, чтобы запросить завершение работы операционной системы или проверить журнал событий безопасности. Дополнительные сведения см. в разделе Выполнение с особыми привилегиями.
Необходимо задать привилегии только при доступе к инструментарию WMI на компьютере. При доступе к удаленному узлу COM RPC автоматически устанавливает привилегии. Чтобы определить все необходимые привилегии, обратитесь к документации по определенным классам WMI, к которым вы хотите получить доступ, например Win32_OperatingSystem. Дополнительные сведения см. в разделе WbemPrivilegeEnum.
В этой статье рассматриваются следующие разделы:
- Задание привилегии из объекта Security_
- Задание привилегии как части моникера
- Отзыв и сброс привилегий
- Связанные темы
Задание привилегии из объекта Security_
Используйте следующую процедуру, чтобы задать привилегии безопасности в Visual Basic.
Настройка привилегий в Visual Basic
Создайте объект типа SWbemLocator.
Добавьте новое разрешение в объект SWbemLocator.Security_ .
Объект Security_ содержит коллекцию SWbemObjectSet . Объекты в наборе являются объектами SWbemSecurity . Дополнительные сведения см. в разделе Доступ к коллекции.
Войдите в WMI и получите объект SWbemServices .
Объект SWbemServices наследует привилегию, заданную на предыдущем шаге.
Вы также можете задать привилегию с помощью метода SWbemPrivilegeSet.AddAsString .
Задание привилегии как части моникера
Вы можете задать привилегию как часть моникера.
В следующем примере показано, как добавить привилегию отладки к моникелю.
Set Service = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}")
Отзыв и сброс привилегий
В следующем примере показано, как задать привилегию SeDebugPrivilege и отозвать привилегию SeRemoteShutdownPrivilege .
Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")
Связанные темы