Утилита WMIC, часть 1 — знакомство

Утилита WMIC, часть 1 — знакомство Командная строка

Утилита командной строки WMIC (WMI Commandline) позволяет использовать функциональные возможности (хоть и частично) Windows Management Instrumentation. WMIC реализует возможность просматривать структуру WMI как на локальной, так и на удаленной системе, выполнять методы классов, работать с экземплярами классов, выполнять WQL запросы к различным классам и объектам.

Для выполнения запросов к классам (смотрите статью Классы WMI, пространство имен и CIM) можно использовать как их стандартные имена (например, Win32_Process), так и псевдонимы классов (например, PROCESS). Также предоставляется возможность для создания собственных псевдонимов. Сама утилита находится в виде исполняемого файла wmic.exe в папке %SystemRoot%System32Wbem.

Основным недостатком WMIC по сравнению с остальными утилитами инструментария Windows является то, что тут отсутствует полноценная обработка событий.

Выполнение команд возможно в двух режимах:

Интерактивный режим – в окне командной строки выполняем команду WMIC, после чего произойдет вывод стандартного приглашения для ввода команд:

wmic:rootcli>

Например:

wmic:rootcli>PROCESS

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

Пакетный режим – запуск из консольного окна заранее подготовленного пакетного файла с командами WMIC или выполнение готовой команды. Перед командой пишется слово wmic, например:

wmic process

Как уже упоминалось, в WMIC можно не использовать стандартные имена классов при выполнении команд, так как вместо имен классов могут использоваться псевдонимы (aliases). Псевдонимов немного, штук 80, для сравнения, классов в репозитории CIM может быть несколько тысяч. Псевдонимы определены только для наиболее употребляемых классов, хотя, при желании можно создавать собственные псевдонимы.

Так как эта статья по WMIC является только ознакомительной, то я не буду глубоко внедряться в глубины данной утилиты, да и смысла не вижу. Если вы уже знакомы с инструментарием Windows Management Instrumentation, то и тут легко разберетесь, тем более, что вызов справки всегда под рукой:

/?

или

-?

Поэтому, опишу лишь технические моменты. Так как WMI – иерархическая структура, то и тут не обошлось без подчинения. Все псевдонимы являются экземплярами класса MSFT_CliAlias, который находится в пространстве имен RootCli, так что средствами WMI CIM Studio их легко можно просмотреть.

Просмотр в утилите WMI CIM Studio экземпляров класса MSFT_CliAlias

Само пространство имен RootCli называется ролью (role), оно также содержит и другие классы, которые связаны с WMIC, их имена содержат префикс MSFT_.

И так, давайте подведем небольшой итог… Утилита WMIC позволяет вам использовать функциональные возможности Windows Management Instrumentation, запуск утилиты возможен только под правами администратора, это и не удивительно, ведь сам WMI, а точнее его классы позволяют получить доступ практически ко всем элементам системы, будут то службы или оборудование. Нужно четко поминать, что без знания самого инструментария WMI, тонкостей работы с ним и языка WQL, в ваших глазах данная утилита будет лишь еще одним инструментом для выполнения рядовых команд командной строки (запуск процессов, работа со службами или журналом событий) и общий интерес к ней быстро угаснет. Поэтому, советую вам почаще заглядывать в рубрику “WMI — классы и объекты”, куда я буду добавлять описания классов инструментария WMI с примерами их применения как в сценариях Windows Script Host, так и в окне командной строки. А пока, читайте вторую и третью часть по утилите WMIC… и подписывайтесь на обновления блога. Удачи.

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