Глава 6
В Windows существуют так называемые
провайдеры
(providers). Они выполняют
функции сбора данных и управления конфигурацией компьютера. Существуют
провайдеры управления драйверами, операционной системой, браузером IE и дру-
гими компонентами системы. Список провайдеров постоянно пополняется и при
установке того или иного программного обеспечения может существенно расши-
риться.
Для использования WMI необходимо знание иерархической структуры объектов
системы. Запомнить ее практически невозможно, поэтому при составлении запро-
сов могут помочь такие продукты, как WMI CIM Studio или другие продукты про-
смотра WMI (WMI Command-line Tool, WBEMTest.exe и др). С помощью такой
программы администратор имеет возможность подключиться к любому простран-
ству имен, зарегистрированному в системе, отобразить существующие классы объ-
ектов, увидеть свойства класса (те характеристики, которые можно получить при
исполнении запроса) и методы (те параметры, которые можно установить в коман-
де), выявить существующие экземпляры. Здесь же можно открыть окно, в котором
попробовать создать собственный WMI-запрос и сразу увидеть его результаты.
Средства среды разработки WMI Administrative Tools удобны тем, что наряду
с просмотром существующих на компьютере классов WMI-администратор может
получить значения реальных объектов, составить и отладить WQL-запросы.
Язык запросов WMI Query Language
Практическое использование интерфейса WMI для получения данных о состоянии
оборудования или программной среды во многом напоминает работу с базой дан-
ных — вам необходимо указать, какие параметры должны быть получены от какого
объекта и при каких ограничениях (фильтрах). Язык запросов для WMI так и назы-
вают — WMI Query Language (WQL). Даже команды WQL принято называть
за-
просами
. Запросы WMI обрабатываются в специальном интерпретаторе — wmic
(WMI Command-line tool). Объекты WMI доступны и для использования в Visual
Basic, что позволяет составлять любые сценарии.
После запуска интерпретатора на экране появляется окно, аналогичное окну ко-
мандной строки, в котором следует вводить необходимые команды. В этой утилите
доступна объемная подсказка, вызываемая по ключу
/?
. Однако для успешной ра-
боты в таком режиме необходимо четко представлять, в каком классе находится
объект, характеристики которого вы хотите получить или в настройки которого
предполагается внести изменения.
Язык WQL может быть использован только для получения той или иной информа-
ции. Запросы WQL не позволяют добавить данные или изменить определенные па-
раметры. Если вам необходимо выполнить какие-либо настройки, то сначала сле-
дует получить (выбрать) с помощью запросов WQL соответствующий объект, а за-
тем, используя допустимые для этого элемента методы управления, провести
желаемые изменения.
Управление информационной системой
271
Варианты применения WMI
Существуют различные методы использования возможностей интерфейса WMI.
Для автоматизации управления компьютерными системами доступ к WMI может
быть реализован через Windows Scripting Host. Это позволяет администратору
создавать сценарии управления системами. Вы можете запросить характеристики
какого-либо объекта с помощью языка WQL и изменить значения некоторых из
них, присвоив новые величины параметрам выбранного объекта.
Определенную помощь в представлении о структуре классов WMI может оказать
программа
WBEMTest.exe
, имеющаяся на каждом компьютере с установленным
WMI. Используя эту программу, можно просмотреть классы WMI и отобразить
характеристики отдельных элементов. Утилита позволяет выполнить WQL-запрос
и увидеть его результат на экране. Хотя утилита предназначена для поддержки
и имеет ограниченные возможности, но она может помочь разобраться с WMI-
классами.
Для тех, кто предполагает использовать управление системами через WMI, целесо-
образно установить на компьютер какую-либо программу просмотра WMI. Напри-
мер, весьма неплохими возможностями обладает уже упомянутая ранее программа
CIM Studio, которая может быть свободно загружена с сайта Microsoft.
П
РИМЕЧАНИЕ
Те, кто используют в своей работе Microsoft Visual Studio.NET, могут применять вхо-
дящие в ее состав утилиты. Если ни одна из упомянутых программ по каким-либо при-
чинам вас не устраивает, то в Интернете легко можно найти и другие утилиты.
Примеры WMI-сценариев
Большинство практических WMI-сценариев создаются на основе того или иного
примера, который найден в Интернете. Приведем несколько возможных вариантов
WMI-сценариев.
Вывод перечня логических дисков системы
— следующий сценарий на Visual
Basic
выводит на экран наименования логических дисков, присутствующих
в системе.
for each Disk in GetObject("winmgmts:").InstancesOf _
("CIM_LogicalDisk")
WScript.Echo "Instance:", Disk.Path_.Relpath
Next
При выполнении цикла переменной
Disk
поочередно присваиваются все элемен-
ты класса
"логический диск"
. Затем сценарий (третья его строчка) выводит на
экран сообщение с логическим именем этого диска.
Перезапуск остановившихся служб системы
— следующий пример кода на
Visual Basic может быть использован для перезапуска остановленных служб
системы:
272
Do'stlaringiz bilan baham: |