В прошлых двух публикациях мы познакомились с основными настройками утилиты WMI CIM Studio, изучили работу с панелями (проводник и просмотрщик классов), рассмотрели процесс работы с классами, их экземплярами и квалификаторами классов, свойств и методов.
В этой заключительной статье по CIM Studio мы рассмотрим процесс выполнения методов, WQL запросов, а также то, как работать с MOF – файлами, и так, приступним.
Просмотр ассоциативных связей для класса или объекта WMI
Архитектура классов инструментария Windows Management Instrumentation подразумевает такое явление как связанные (ассоциированы) между собой классы, связь формируется с помощью, так называемых, ассоциативных классов WMI. Для просмотра связей нужно выбрать в проводнике исследуемый класс, а в окне просмотрщика перейти на вкладку Associations, где будет в графическом виде отображаться ассоциативная связь выбранного класса с другими.
Для примера рассмотрим класс Win32_Process, на рисунке ниже видно, что он связан с Win32_ComputerSystem (посредством ассоциативного класса Win32_SystemProcesses), Win32_LogonSession (посредством ассоциативного класса Win32_SessionProcess) и Win32_NamedJobObjectProcess (посредством ассоциативного класса Win32_NamedJobObjectProcess). Сам ассоциативный класс отображается при наведении мыши на пиктограмму в середине ветки.

При наведении мыши на соединительные линии с каждой стороны от пиктограммы ассоциативного класса, будет отображаться свойство, с помощью которого устанавливается связь ассоциативного класса с остальными.

Так, в нашем случае, для ассоциативного класса Win32_NamedJobObjectProcess ссылка на Win32_NamedJobObject находится в свойстве Collection, а на Win32_Process – в свойстве Member.

Ассоциативные связи можно просматривать также и для экземпляров классов, также обратите внимание, что при двойном щелчке можно быстро переходит к тем классам, что представлены на вкладке Associations утилиты CIM Studio.
Выполнение методов класса в утилите WMI CIM Studio
Как уже упоминалось ранее, в просмотрщике классов на вкладке Methods отображаются методы выбранного класса WMI. Приложение WMI CIM Studio позволяет выполнять эти методы без использования вспомогательных средств (например, сценариев Windows Script Host), однако стоит помнить, что метод может присутствовать в списке, но не иметь реализации, то есть, запустить его не получится. Что бы проверить, реализован ли метод в провайдере, нужно проверить наличие у него квалификатора implemented со значением True. Также обратите внимание, что некоторые методы инструментария Windows Management Instrumentation могут выполняться лишь в экземплярах классов, в самом классе может быть выполнен только метод с квалификатором static со значением True (в экземплярах класса метод этого типа запустить невозможно).
Для примера, попробуем выполнить метод Create класса Win32_Process для запуска программы калькулятор. Выберите класс Win32_Process и перейдите на вкладку Methods, нажмите правой кнопкой мыши на методе Create и выберите пункт Execute Method.

После щелчка на выбранном пункте появится диалоговое окно Parameters of Win32_Process ->Create c набором входных (стрелка вправо) и выходных (стрелка влево) параметров данного метода WMI. Параметр CommandLine отвечает за запуск нового процесса, для данного параметра в столбике Value пропишите Calc.exe и нажмите кнопку Execute.

В итоге должна запуститься программа Калькулятор, а в выходном параметре ProcessId появится значение идентификатора запущенного процесса.
Аналогично, что бы завершить процесс средствами утилиты CIM Studio, нужно обратиться к методу Terminate для экземпляра класса Win32_Process, который соответствует запущенному процессу. Откройте в просмотрщике классов список экземпляров для Win32_Process. В списке нужно найти процесс, который надо завершить. В нашем случае это блокнот, дважды щелкните по экземпляру. В и тоге, мы сможем перейти к редактированию метода Terminate для нужного процесса.

Теперь нам осталось нажать только на кнопку Execute для завершения выбранного процесса.

Выполнение WQL-запросов
Характерной особенностью WMI CIM Studio является то, что в отличии от тестера WMI (WBEMTEST), тут можно не просто выполнить запрос на языке WQL, но и сохранить его, что бы каждый раз не набирать текст снова. Как уже упоминалось в прошлых статьях, для выполнения WQL запроса служит кнопка с пиктограммой WQL Querys, после нажатия на нее откроется диалоговое окно Query. Данное диалоговое окно позволяет вводить сам WQL запрос (поле Query), назначать имена запросам (поле Name), запоминать их (кнопка Save Query) и, собственно, выполнять WQL запросы (кнопка Execute). Для удаления сохраненного запроса служит кнопка Remove Query.

Для примера выполним следующий запрос:
SELECT*FROM Win32_LogicalDisk WHERE FileSystem ="NTFS" |
В итоге мы получим список дисков с файловой системой NTFS.
Генерация MOF-файлов для классов или объектов
WMI CIM Studio предоставляет возможность генерировать MOF-файлы (за это отвечает MOF Generator Wizard) для любого класса или экземпляра класса инструментария Windows Management Instrumentation, который находится в репозитории CIM (смотрите статью «Классы WMI, пространство имен и CIM«). Для примера попробуем поэкспериментировать с классом Win32_Process. Для этого выделите данный класс галочкой в окне проводника и нажмите дважды на кнопку в виде пиктограммы, MOF Generator, что бы вызвать мастера генерации MOF.

После того как мы нажмем на кнопку Далее (Next), появится диалоговое окно, содержащее список выбранных классов. Помимо этого, тут можно выбрать те экземпляры обрабатываемого класса, к которым надо генерировать MOF описание, выбор осуществляется с помощью установления флажка.
Пункт Include class definition позволяет задать формирование описания только для экземпляров (флажок снят). Так как наж нужно сформировать описание только для класса, то мы оставим флажок возле пункта Include class, а возле экземпляров уберем все флажки.

После нажатия на кнопку Далее открывается новое окно, в котором надо ввести имя Mof файла и путь для сохранения. Тут же при необходимости можно выбрать кодировку Unicode.

И так, на этом пока все, мы рассмотрели утилиту WMI CIM Studio из пакета WMI Tools, также советую почитать про утилиту Event Viewer и Event Registration из данного пакета.