Утилита WMIC, часть 3 — операторы

Утилита WMIC, часть 3 — операторы Командная строка

Продолжая тему утилиты WMIC командной строки, в этой третьей части мы рассмотрим основные операторы, так сказать, продолжим разминку.

И так, начнем…

Операторы утилиты WMIC

ASSOC– позволяет получить список классов, связанных с объектом, путь к которому прописан с помощью псевдонима или WMIC команд PATH и CLASS. Например:

CLASS Win32_Process ASSOC
Результат работы оператора ASSOC

Список связанных классов можно получить и с помощью утилиты CIM Studio.

Просмотр ассоциативных связей для Win32_Process

Если применять оператор ASSOC для экземпляров классов, то произойдет вывод путей к объектам, связанных с этими экземплярами. Например:

PROCESS WHERE(name="cmd.exe") ASSOC

или

PATH Win32_Process WHERE(name="cmd.exe") ASSOC

CALL – выполнение метода для заданного класса или экземпляра класса WMI, путь к которым можно задавать с помощью псевдонимом или команд CLASS и PATH. Для просмотра доступных методов можно использовать справку WMIC или утилиту WMI CIM Studio.

Пример вывода короткой справки WMIC по классу Win32_Process:

PROCESS CALL /?

или

CLASS Win32_Process CALL /?

Пример вывода полной справки WMIC по классу Win32_Process:

PROCESS CALL /?:FULL

или

CLASS Win32_Process CALL /?:FULL

Запуск процесса notepad.exe (калькулятор):

PROCESS CALL Create notepad.exe

Завершение работы процесса notepad.exe:

PROCESS WHERE Name="notepad.exe"CALL Terminate
Результат работы оператора CALL

CREATE – создание нового экземпляра класса и присваивание значений для его свойств. Метод не дает возможности создавать новый класс.

Пример создания системной переменной Envir со значением 2013, которая будет доступна всем:

ENVIRONMENT CREATE Name="Envir", VariableValue ="2013", UserName="<SYSTEM>"

SET – изменение заданных значений свойств для одного или нескольких экземпляров класса WMI. Экземпляры можно задавать с помощью псевдонимов или команды CLASS.

Пример изменения значения системной переменной:

ENVIRONMENT WHERE Name="Envir"SET Name="EnvirNew", VariableValue="2014"

DELETE – удаление экземпляра или группы экземпляров класса, также данный оператор WMIC может применяться для удаления класса.

Пример удаления системной переменной:

ENVIRONMENT WHERE Name="Envir"DELETE

GET – используется для получения значения заданных свойств экземпляров классов в комбинации с псевдонимом или командой PATH. При использовании WMIC команды CLASS будет получено описание заданного класса. Например:

CLASS Win32_Process GETPROCESS GET Name, Handle

/VALUE– вывод каждого свойства в отдельной строке, параметр актуален в комбинации с GET. Например:

PROCESS GET Name, Handle /VALUE

/ALL– вывод свойств в виде таблицы, используется по умолчанию.

/EVERY – позволяет периодически выполнять заданное выражение. Параметр принимает числовое значение (количество секунд), которое определяет, через, сколько вновь выполнить выражение. Например:

PROCESS GET Name,Handle /EVERY:5

/REPEAT– аналог предыдущего WMIC оператора, то тут задается количество вызовов выражения. Для задания интервала времени между выводами, можно использовать параметр EVERY. Например:

PROCESS GET Name,Handle /EVERY:5/REPEAT:3

Тут произойдет выполнение выражения PROCESS GET Name,Handle три раза с интервалом в пять секунд.

LIST – аналог команды GET, но с некоторыми изменениями. Данный оператор не позволяет выводить данные для произвольных свойств экземпляров класса. Тут только можно выбрать один из имеющихся наборов свойств, задаваемых модификаторами.

Синтаксис WMIC команды LIST:

LIST [<модификатор>] [<параметры>]

Что бы определить доступные модификаторы для заданного псевдонима, нужно воспользоваться справкой WMIC для команды LIST в комбинации с нужным псевдонимом, например:

PROCESS LIST /?SERVICE LIST /?

И так, наконец то третья часть разминки по утилите командной строки WMIC закончена. Если что, можно быстро пробежаться по первой и второй частям. Впереди довольно трудоемкая работа – нужно в рубрику “WMI — классы и объекты” закинуть описания нескольких классов (штук 100), с примерами их применения в  сценариях Windows Script Host и в самой командной строке. Будет время, отчитаюсь по проделанной работе, все удачи и подписывайтесь на обновления блога.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий