Программа WMIC

Программа WMIC (WMI Command-line) предоставляет простой интерфейс командной строки для работы с подсистемой WMI (Windows Management Instrumentation — Инструментарий управления Windows). Это позволяет воспользоваться преимуществами WMI для управления компьютерами с операционными системами Microsoft Windows. WMIC взаимодействует с существующими оболочками и служебными программами, а также может быть легко расширена с помощью сценариев или других административным приложений.

WMIC позволяет выполнять следующие задачи:

  • просматривать схемы WMI и запрашивать их классы и экземпляры (обычно с использованием «псевдонимов», упрощающих работу с WMI);
  • работать с локальным компьютером, удаленными компьютерами или выполнять команды сразу для нескольких компьютеров;
  • настраивать псевдонимы и форматы вывода в соответствии с имеющимися потребностями;
  • создавать и выполнять сценарии на основе WMIC.

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

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

Сценарии использования

В следующих типичных сценариях WMIC позволяет упростить выполнение задач.
  • Локальное управление компьютером — оператор находится на компьютере и использует WMIC для управления им.
  • Удаленное управление компьютером — оператор находится на одном компьютере и использует WMIC для управления другим компьютером.
  • Удаленное управление несколькими компьютерами — оператор находится на одном компьютере и использует WMIC для управления несколькими компьютерами общей командой.
  • Удаленное управление компьютером (с использованием удаленного сеанса) — оператор использует технологию сеансов удаленного доступа (такую как Telnet или службы терминалов) для подключения к удаленному компьютеру и управления им при помощи WMIC.
  • Автоматизированное управление с использованием сценариев администрирования — оператор использует WMIC для написания простого сценария, автоматизирующего управление компьютером (локальным, удаленным или несколькими компьютерами — поочередно или одновременно).

Псевдонимы

Доступ к инфраструктуре WMI осуществляется через посредников WMIC, называемых псевдонимами. Псевдонимы используются при работе со средствами класса WMI, необходимыми для решения некоторых конкретных задач, таких как администрирование дисков или сети. Псевдонимы могут использоваться для переименования классов, свойств и методов, а также для форматирования свойств с целью последующего вывода. Форматы вывода могут включать значения свойств или предоставлять необходимые шаблоны для оформления данных. Например, псевдоним может иметь формат BRIEF, в котором перечисляются только значения свойств, существенные для идентификации объекта, доступ к которому осуществляется через этот псевдоним. Данные управления представляются в формате XML и обрабатываются в соответствии со встроенными или пользовательскими форматами вывода XSL.

См. также

Общие сведения о WMI
Вызов WMIC
Использование WMIC
Расширение псевдонимов
Справочные сведения
Управление системами с помощью WMIC
Командная строка WMI


Общие сведения о WMI

Рисунок Microsoft Windows

Общие сведения об инструментарии управления Windows

Инструментарий управления Windows (Windows Management Instrumentation, WMI) представляет собой реализацию корпорации Майкрософт протокола WBEM (Web-Based Enterprise Management — управление предприятием на основе веб-технологий), регламентирующего стандарты общего доступа к данным управления по сети предприятия. WMI обеспечивает встроенную поддержку модели CIM (Common Information Model — общая модель данных), которой должны соответствовать объекты среды управления.

WMI включает CIM-совместимую базу данных, в которой хранятся определения объектов, и диспетчер объектов CIM, в задачи которого входит занесение объектов в хранилище и управление ими, а также сбор данных от поставщиков WMI. Поставщики WMI играют роль посредников между WMI и компонентами операционной системы, приложениями и другими системами. Например, поставщик реестра получает данные из реестра, а поставщик SNMP предоставляет данные и события от устройств SNMP. Поставщики не только предоставляют данные, но и методы, с помощью которых можно управлять компонентами, свойства, которые могут быть изменены, и события, информирующие об изменениях, происходящих в компонентах.

WMI может использоваться средствами управления компьютерами, такими как Microsoft Systems Management Server. Кроме того, WMI применяется в других технологиях и продуктах корпорации Майкрософт, таких как Microsoft Health Monitor и Microsoft Operations Manager, а также сторонними изготовителями компьютерных систем управления. Можно также использовать WMI вместе с системами программирования (такими как Windows Script Host) как для получения сведений о конфигурации компьютерных систем, в том числе о серверных приложениях, так и для изменения конфигурации (подробнее об этом — в пакете разработчика WMI SDK).

WMI поддерживается такими средствами управления, как «Свойства системы», «Сведения о системе» и «Зависимости» (оснастка «Службы»). Ниже дается краткое описание этих компонентов.

  • Компонент «Свойства системы» позволяет просматривать и изменять свойства системы на локальном или удаленном компьютере. Имеется возможность перезагружать удаленный компьютер для применения новой настройки или для обнаружения нового оборудования, просматривать имя компьютера и сведения о домене для других компьютеров в сети, а также изменять параметры файла подкачки на компьютере, выполняющем программы, требующие большого объема памяти. Дополнительные сведения о свойствах системы см. в разделе Использование средства «Свойства системы».
  • Компонент «Сведения о системе» собирает и отображает сведения о конфигурации системы. Это особенно удобно при обращении в службу технической поддержки. Дополнительные сведения см. в разделе Использование компонента «Сведения о системе».
  • Оснастка «Службы» облегчает управление службами на компьютере. Средство «Зависимости» позволяет определить службы, от которых зависит текущая служба, а также службы, зависящие от нее. Дополнительные сведения об оснастке «Службы» см. в разделе Использование оснастки «Службы».
Технические подробности о разработке программного обеспечения для подсистемы WMI см. в пакете WMI SDK (Software Development Kit). Пакет WMI SDK распространяется MSDN (Microsoft Developer Network) как часть пакета Microsoft Platform SDK.


Вызов WMIC

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

Интерактивный режим

Чтобы запустить WMIC в интерактивном режиме, в окне «Пуск» - «Выполнить» или в командной строке введите:
wmic <CR>
Появится приглашение:
wmic:root\cli>

(root\cli — роль WMIC, используемая по умолчанию).

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

Для выхода из интерактивного режима можно использовать команду Exit или Quit.

Пакетный режим

Чтобы получить сведения об использовании WMIC в пакетном режиме, введите:
wmic /?

Ключ /? обеспечивает вывод справки (при этом управление будет возвращено в командную строку операционной системы). В пакетном режиме, также как и в интерактивном, можно использовать псевдонимы, переключатели и команды.


Использование WMIC

Проще всего использовать WMIC в интерактивном режиме. Однако для выполнения отдельных операций или пакетных операций может быть полезен пакетный режим. Подробности см. в разделе Вызов WMIC.

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

Применение псевдонимов позволяет использовать WMI без понимания схем WMI. Если псевдонимов по умолчанию недостаточно, но требуется использовать псевдонимы или сделать их доступными для других администраторов, можно расширить псевдонимы.

Глобальные действия (доступные для всех псевдонимов) выполняют функции, связанные с текущим псевдонимом. Для настройки использования WMIC доступны глобальные переключатели. Также могут быть доступны особые действия и переключатели для конкретных псевдонимов. Для просмотра подробностей вызовите справку (/?) по соответствующему псевдониму.

Доступны команды для выполнения функций WMIC.

Пользователи, умеющие обращаться со схемами WMI, могут использовать схемы WMI непосредственно с WMIC.

Не забывайте о требованиях безопасности WMIC.

При возникновении неполадок при использовании WMIC их можно устранить.

По завершении работы с WMIC можно воспользоваться действием Exit для выхода из WMIC.

После освоения приемов работы с WMIC можно управлять компьютерами при помощи WMIC.

Примечания

  • Для приостановки вывода из любой команды WMIC в любой момент можно воспользоваться сочетанием клавиш Ctrl-S (для возобновления вывода достаточно нажать любую клавишу). С помощью сочетания клавиш Ctrl-C можно отменить вывод (при этом также будет завершена работа WMIC).
  • Глобальный переключатель /RECORD перенаправляет вывод WMIC в файл.
  • При использовании WMIC на локальном компьютере можно подключаться к другим компьютерам с помощью глобального переключателя /NODE или файла псевдонима (если компьютеры указаны в определении псевдонима).


Справка командной строки

WMIC имеет встроенную справку, которую можно просматривать при работе в командной строке. Для получения справочных сведений введите ключ /?. Ключ /? без дополнительных параметров позволяет вывести сведения о глобальных переключателях и псевдонимах, доступных для текущей роли. Если ключ /? указан после псевдонима, будут выведены действия и переключатели, доступные для этого псевдонима. Если ключ /? указан после действия, будет выведено описание этого действия.

Например:

wmic:root\cli> /?

Вывод используемого синтаксиса и списка доступных псевдонимов, включая Process.

wmic:root\cli> process /?

Вывод параметров, предусмотренных для псевдонима Process.

/?:FULL — вывод всех справочных сведений. Этим вариантом удобно пользоваться, если требуется получить перечень переключателей.

Примечание

  • Вместо ключа /? можно использовать ключ -?


Псевдонимы

Доступ к инфраструктуре WMI осуществляется через посредников WMIC, называемых псевдонимами. Псевдонимы используются при работе со средствами класса WMI, необходимыми для решения некоторых конкретных задач, таких как администрирование дисков или сети. Псевдонимы могут использоваться для переименования классов, свойств и методов, а также для форматирования свойств с целью последующего вывода. Выходные форматы могут включать значения свойств или предоставлять необходимые шаблоны для оформления данных. Например, псевдоним может иметь формат BRIEF, в котором перечисляются только значения свойств, существенные для идентификации объекта, доступ к которому осуществляется через этот псевдоним. Данные управления представляются в формате XML и обрабатываются в соответствии со встроенными или независимыми документами XSL.

Псевдонимы имеются для большинства часто используемых классов данных управления. При этом можно создавать псевдонимы для других классов.

Любая роль WMIC может иметь собственные псевдонимы. Для смены ролей следует использовать глобальный переключатель /Role.

Оператор WHERE

Экземпляры, относящиеся только к данному псевдониму, можно получить с помощью функции WHERE(). Оператор WHERE() должен содержать оператор WHERE для допустимого запроса WQL. Синтаксис WQL см. в пакете WMI SDK. Функция WHERE() должна размещаться справа от псевдонима. Например:

process where (processID>300) list brief

Встроенные псевдонимы WMIC

Чтобы вывести перечень встроенных псевдонимов, в командной строке WMIC введите: /?

Для получения дополнительных сведений о конкретном псевдониме введите: <псевдоним> /?


Действия

Далее описаны действия, которые поддерживаются большинством псевдонимов. Псевдонимы могут также поддерживать другие действия. Чтобы получить сведения о действиях, доступных для некоторого псевдонима, введите: (<псевдоним> /?). Если псевдоним не поддерживает какое-либо действие, будет выведено сообщение «Данная операция неприменима к источнику данных».
Действие | Описание | Параметры или переключатели | Пример
ASSOC | Возвращает результат запроса: Associators of {<объект_wmi>}, где <объект_wmi> — путь для текущего объекта (если используется команда PATH или CLASS). В противном случае запрос создается для каждого из экземпляров псевдонима | Необязательно, формат выходного файла (TABLE или MOF) | PROCESS ASSOC
CALL | Выполняет метод | Метод и необязательный список параметров. В качестве разделителя в списке параметров используется запятая. Для вывода перечня доступных методов и их параметров введите: CALL /? | PROCESS CALL
CREATE | Создает новый экземпляр и задает значения свойств этого экземпляра (нельзя использовать для создания нового класса) | Пары свойство-значение, разделенные запятыми (в качестве разделителя свойства и значения в паре используется знак равенства). Для вывода перечня свойств этого псевдонима введите: CREATE /? | ENVIRONMENT CREATE NAME="TEMP",VARIABLEVALUE="NEW"
DELETE | Удаляет текущей экземпляр или набор экземпляров (можно использовать для удаления класса) | /INTERACTIVE (с запросом подтверждения действия) или /NOINTERACTIVE (без запроса подтверждения действия) | path DELETE
GET | Возвращает значение свойства | Имя свойства или переключатель. См. ниже таблицу переключателей действия GET. Для вывода перечня свойств и переключателей этого псевдонима введите: GET /? | PROCESS GET NAME
LIST | Выводит данные. Используется по умолчанию | См. ниже таблицу модификаторов и переключателей действия LIST | PROCESS LIST BRIEF
SET | Задает значение свойства | Пары свойство-значение, разделенные запятыми (в качестве разделителя свойства и значения в паре используется знак равенства). Для вывода перечня свойств этого псевдонима введите: SET /? | ENVIRONMENT SET NAME="TEMP",VARIABLEVALUE="NEW"
Действие List имеет следующие модификаторы. Чтобы получить сведения о модификаторах, доступных для некоторого псевдонима, введите: <псевдоним> /? (можно также использовать имена действий и модификаторов).
Модификатор | Результаты
BRIEF | Набор основных свойств
FULL | Полный набор свойств. Используется по умолчанию
INSTANCE | Только пути экземпляров
STATUS | Состояние объектов
SYSTEM | Свойства системы
Другой или пользовательский | Особый список свойств и формат их отображения
Действие List имеет следующие переключатели. Чтобы получить сведения о переключателях, доступных для некоторого псевдонима, введите: <псевдоним> /? (можно также использовать имена действий и модификаторов).
Переключатель | Описание
/TRANSLATE:<таблица_преобразования> | Обрабатывает текст, возвращаемый в командной строке, с помощью указанной таблицы преобразования
/EVERY:<интервал> | Возвращает значения каждые X секунд (X задается аргументом <интервал>)
/FORMAT:<спецификатор_формата> | Задает ключевое слово или имя файла XSL для форматирования данных (см. далее примечание)
Действие Get имеет следующие переключатели.
Переключатель | Описание
/VALUE | Каждое свойство и его значение отображаются на отдельной строке.
/ALL | Выходные данные форматируются в виде таблицы. Используется по умолчанию
/TRANSLATE:<таблица_преобразования> | Обрабатывает текст, возвращаемый в командной строке, с помощью указанной таблицы преобразования
/EVERY:<интервал> | Возвращает значения каждые X секунд (X задается аргументом <интервал>)
/FORMAT:<спецификатор_формата> | Задает ключевое слово или имя файла XSL для форматирования данных (см. далее примечание)

Примечания

  • В действиях List и Get спецификатор формата используется для указания файла XSL или стандартных форматов TABLE или MOF. Переключатель /FORMAT:TABLE эквивалентен переключателю /ALL (используется по умолчанию). Выходные данные в формате MOF могут быть направлены в файл (переключатель /RECORD), который может быть откомпилирован программой Mofcomp.exe на другом компьютере для импорта в его подсистему WMI. При этом следует помнить, что свойства, зависящие от конкретного компьютера, преобразуются в соответствии с другой средой.

Примеры

Пример использования действия и его модификаторов и переключателей:
  • PROCESS GET NAME /FORMAT:XML.XSL /TRANSLATE:BASICXML

    Имена псевдонима Process выводятся в формате XML. Если переключатель /TRANSLATE не указан, знаки, окружающие значения, будут представлены соответствующими примитивами HTML


Переключатели

Глобальные переключатели задают параметры, используемые в среде WMIC по умолчанию. Текущие значения, установленные переключателями, можно просмотреть с помощью команды CONTEXT.

Переключатель | Параметр | Возможное значение | Значение по умолчанию | Пример
/NAMESPACE | Пространство имен, используемое в качестве ссылки в псевдонимах | Любое пространство имен | root\cimv2 | /NAMESPACE:\\root или /NAMESPACE:SMS
/ROLE | Пространство имен, содержащее псевдонимы. При смене роли соответствующим образом изменяется приглашение командной строки WMIC. WMIC имеет только одну роль, используемую по умолчанию (\\root\cli), однако, если другие роли определены в имеющемся продукте управления или в организации, их потребуется переключать | Любое пространство имен, содержащее псевдонимы | root\cli | /ROLE:\\root
/NODE | Имена компьютеров, разделенные запятыми | Любое имя компьютера | Имя локального компьютера | /NODE:TESTSERVER1,TESTSERVER2
/IMPLEVEL | Уровень олицетворения | Anonymous, Identify, Impersonate, Delegate | Impersonate | /IMPLEVEL:Anonymous
/AUTHLEVEL | Уровень проверки подлинности | Default, None, Connect, Call, Pkt, Pktintegrity, Pktprivacy | Default | /AUTHLEVEL:Pkt
/LOCALE | Язык | MS_409 (English), MS_411 (Japanese), MS_40B (Finnish) и т. п. | Язык, который использовался на компьютере по умолчанию, при установке WMIC | /LOCALE:MS_411
/PRIVILEGES | Режим использования всех привилегий | ENABLE или DISABLE | DISABLE | /PRIVILEGES:ENABLE
/TRACE | Режим отображения результатов (успехов или сбоев) выполнения команд WMIC | ON или OFF | OFF | /TRACE:ON
/RECORD | Режим записи всех выходных данных в файл | Имя файла | Не задано; значение для использования по умолчанию не предусмотрено | /RECORD:output.txt
/INTERACTIVE | Режим запроса подтверждения команды Delete | ON или OFF | OFF | /INTERACTIVE:ON
/USER | Имя пользователя, которое будет использоваться WMIC во время доступа к компьютерам, заданным переключателем /NODE, или компьютерам, указанным в псевдонимах. Будет предоставлена возможность ввода пароля. Имя пользователя нельзя применять совместно с именем локального компьютера | Любое имя пользователя | Не задано | /USER:JSMITH или /USER:"" (задание пустых имени пользователя и пароля)
/PASSWORD | Пароль, который будет использоваться WMIC во время доступа к компьютерам, заданным переключателем /NODE (в том числе и при указании локального компьютера). Пароль будет отображаться в командной строке | Любой пароль | Не задано | /PASSWORD:PASSWORD

Примечания

  • С целью просмотра пространств имен для переключателей ROLE и NAMESPACE используйте команду CLASS __NAMESPACE. Для просмотра имен, входящих в другие пространства, смените текущее пространство имен с помощью переключателя /NAMESPACE. Например: /NAMESPACE:\\root.
  • Действия GET и LIST имеют собственные переключатели.


Команды

Далее описаны имеющиеся команды.

Команда | Назначение
CLASS | Явный ввод имени класса схемы WMI без использования применяемого по умолчанию псевдонима WMIC
PATH | Явный ввод имени экземпляра схемы WMI без использования применяемого по умолчанию псевдонима WMIC
CONTEXT | Отображение текущих значений всех глобальных переключателей
QUIT | Выход из WMIC
EXIT | Выход из WMIC

Дополнительные сведения о использовании команд CLASS или PATH см. в разделе Использование схемы WMI.

Дополнительные сведения о глобальных переключателях, отображаемых командой CONTEXT, см. в разделе Переключатели.


Использование схем WMI

Для явного ввода имени класса схемы WMI без использования применяемого по умолчанию псевдонима WMIC служит команда CLASS. Для явного ввода имени экземпляра схемы WMI без использования применяемого по умолчанию псевдонима WMIC служит команда PATH.

Непосредственно после команды CLASS и PATH должен быть указан правильный путь класса или экземпляра WMI, соответственно. В командах CLASS и PATH можно использовать стандартные действия и переключатели.

Пути в WMIC всегда указываются относительно глобальной переменной Namespace. Для указания корневого узла пространства имен используйте префикс \\root.

Команду PATH можно использовать для отбора конкретных экземпляров с помощью выражения .<имя_свойства> = <значение>.

Примеры

CLASS Win32_Environment

Вывод списка всех переменных среды

CLASS Win32_Environment CREATE Name="TEST",Username="DOMAIN\Username",VariableName="testvalue"

Создание новой переменной среды

PATH  "Win32_Environment.Name='PROCESSOR_IDENTIFIER',Username='<SYSTEM>'"

Получение всех свойств отдельной переменной среды

PATH  "Win32_Environment.Name='PROCESSOR_IDENTIFIER',Username='<SYSTEM>'" GET VariableValue

Получение отдельного свойства отдельной переменной среды


Система безопасности

Модель безопасного доступа WMI применяется к любому обращению из WMIC к WMI. Для всех операций, выполняемых WMI, действуют меры безопасности, предоставляемые на уровне операционной системы (например, с помощью WMI нельзя получить доступ к файлам, к которым отсутствует доступ посредством проводника Windows). Меры безопасности могут быть также обеспечены поставщиками для соответствующих систем.

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

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


Устранение неполадок

WMIC возвращает стандартные сообщения для любых ошибок, возникающих при выполнении операций, инициированных из командной строки WMIC. Расширенные сведения об ошибках доступны при включенном режиме трассировки WMIC. Для включения этого режима используется глобальный переключатель /TRACE.

Ошибки WMI отображаются только в режиме трассировки. Ошибки WMI содержат конкретные подробности, которые не используются WMIC. Поэтому при возникновении ошибки выводится стандартное сообщение WMIC. Для получения дополнительных сведений необходимо включить режим трассировки и использовать ошибки WMI.

Общие неполадки

  • Неправильный параметр

    Имя параметра указано неправильно или не применяется к данному объекту. Также может указывать на отсутствие обязательного параметра или аргумента. Например, при создании переменной среды необходимо указать ее имя, имя пользователя и значение переменной.

  • Таблица значений не содержит входное значение для данного свойства


Управление компьютерами с помощью WMIC

Ниже приведены примеры, советы и рекомендации по использованию WMIC.

  • process where (processID>300) list brief
    Вывод списка всех процессов на указанных компьютерах, для которых ProcessID больше 300. Вывод ограничен основными сведениями об этих процессах.
  • /node:(computer1),(computer2),(computer3)
    Добавление в список компьютеров, с которых требуется получить данные (при условии соответствия требованиям безопасности).
  • class win32_processor get MaxClockSpeed
    Вывод только конкретных свойств из класса.
  • Простые отчеты — возможность использования WMIC для запроса нужных данных с форматированным выводом в HTM-файл, который может быть предоставлен пользователям как любая другая веб-страница. Этот процесс можно автоматизировать, создав пакетный файл.
  • Быстрые запросы на текущем компьютере — возможность запроса сведений, полезных для устранения неполадок (например, сведений об установленном программном обеспечении).
  • Обмен данными WMI между компьютерами — возможность вывода данных в форматированный MOF-файл, а затем скомпилировать этот файл на другом компьютере с помощью программы Mofcomp.exe; в результате данные будут импортированы на конечный компьютер.
  • Наблюдение с использованием переключателя /Every — возможность наблюдения за динамическими процессами на компьютере, такими как остановка служб.


Расширение псевдонимов

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

Для понимания механизма расширения псевдонимов необходимо сначала понять механизм их внедрения в терминах пространств имен и классов. После этого можно переходить к выполнению процедур создания или изменения псевдонимов.

Для создания или изменения форматов необходимо выполнить соответствующие процедуры.

Если требуется изменить способ вывода значений в WMIC без создания нового формата, рассмотрите возможность создания или изменения таблиц преобразования.

Внимание!

  • При изменении представлений по умолчанию изменения форматов необходимо сохранять вне WMI. В случае обновления WMI или операционной системы новая версия WMIC может восстановить псевдонимы или форматы вывода по умолчанию, перезаписав внесенные изменения.


Пространства имен псевдонимов и классы

Псевдонимы WMIC содержатся в пространстве имен root\Cli. Имеется возможность добавлять псевдонимы в этом пространстве имен или определять их в других пространствах. При определении псевдонимов в других пространствах имен необходимо использовать переключатель /ROLE, чтобы указать пространство имен при использовании WMIC.

MSFT_CliAlias

Основным классом в этой схеме является MSFT_CliAlias. Элементами этого класса являются псевдонимы. Элемент класса MSFT_CliAlias имеет следующие свойства.

  • FriendlyName — имя псевдонима. Оно должно быть уникальным.
  • Description — описание псевдонима. Этот текст отображается при вводе параметра /? в командной строке WMIC.
  • Formats — список, каждая запись которого содержит имя формата и свойства (объекты класса MSFT_CliProperty), которые должны для этого формата. Все форматы являются объектами класса MSFT_CliFormat.
  • Verbs — список различных типов поведения, доступных через данный псевдоним. Существует две формы типов поведения:
    • стандартные действия, непосредственно поддерживаемые данной служебной программой;
    • определенные пользователем действия, которые должны быть сопоставлены какому-либо методу, определенному для назначения данного псевдонима.
    Все действия являются объектами класса MSFT_CliVerb.
  • Qualifiers — список квалификаторов, аналогичных квалификаторам WMI. Все квалификаторы являются объектами класса MSFT_Qualifier.
  • Target — выражение WQL без оператора WHERE, указывающее класс и свойства этого класса, к которым применяется псевдоним.
  • PWhereclause — дополнительный оператор WHERE, ограничивающий свойство Target. Он может иметь подстановочные значения, которые являются параметрами псевдонима. Подстановочные значения помечены символом #. Если необходимо несколько параметров, они последовательно сопоставляются с маркерами #.
  • Connection — сведения о том, к каким компьютерам следует подключаться, какие параметры безопасности должны использоваться и т. д. Если подключение не задано, имена компьютеров для доступа будут иметь значение /NODE, а пространство имен будет иметь значение /NAMESPACE. Если не заданы имя и пароль пользователя, будут использованы значения /USER и /PASSWORD при их наличии (в противном случае используется текущая учетная запись). Connection является объектом класса MSFT_CliConnection.

Классы для свойств MSFT_CliAlias

Следующие классы служат для определения объектов, используемых в свойствах класса MSFT_CliAlias.

MSFT_CliFormat

Используется в псевдонимах.

Класс MSFT_CliFormat определяет именованный формат, задающий набор свойств, которые должны отображаться в данной служебной программе при вводе команды LIST. Каждый элемент класса MSFT_CliFormat имеет имя, список свойств и свойство Format, содержащее имя таблицы стилей (файл XSL), которая должна использоваться для форматирования экрана свойств.

MSFT_CliProperty

Используется в форматах.

Каждый элемент класса MSFT_CliFormat содержит список элементов класса MSFT_CliProperty. Элементы класса MSFT_CliProperty определяют набор свойств, которые должны отображаться для данного формата. Каждый элемент класса MSFT_CliProperty имеет производный элемент, который может быть константой, именем свойства или командой GET для командной строки WMI. Кроме того, каждый элемент класса MSFT_CliProperty имеет локализованное описание.

Форматы соотносятся с конкретным XSL-файлом с помощью свойства NAME объекта формата. Свойства FULL, BRIEF и INSTANCE относятся к конкретным XSL-файлам, а свойство NAME может указывать имя другого XSL-файла.

MSFT_CliVerb

Используется в псевдонимах.

Элементы класса MSFT_CliVerb представляют действия, определенные для псевдонима. Действия могут быть стандартными (GET, LIST, CALL и SET) или определенными пользователем. Стандартные действия имеют описания и режимы использования, но не имеют свойств.

MSFT_CliParam

Используется в действиях.

MSFT_CliQualifier

Используется в псевдонимах и действиях. Квалификаторы WMIC служат для той же цели, что и квалификаторы WMI.

MSFT_CliConnection

Используется в псевдонимах.

Прочие классы псевдонимов

Следующие классы используются для функций WMIC, не использующих класс MSFT_CliAlias.

MSFT_CliTranslateTable

Используется с собственными переключателями GET /TRANSLATE и LIST /TRANSLATE. В состав WMIC входит только таблица преобразования BasicXml.

MSFT_CliTranslateTableEntry

Используется в таблице преобразования.

MSFT_CliSeeAlso

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

Эти классы будут более подробно рассмотрены в следующей версии данной справочной системы.

Примечания

  • При просмотре пространств имен ролей с помощью средств WMI (таких как CIM Studio) экземпляры имеют только классы MSFT_CliAlias и MSFT_CliTranslateTable. Их свойства могут включать объекты других классов, но другие классы не будут иметь собственных экземпляров. Исключение может также составлять класс CliSeeAlso.
  • Таким образом, при создании псевдонимов в основном создаются экземпляры в классе MSFT_CliAlias. Экземпляры других классов создаются как свойства класса MSFT_CliAlias или как свойства его свойств.


Создание и изменение псевдонимов

Псевдонимы можно создавать в интерактивном режиме с помощью таких средств как CIM Studio (из набора WMI SDK). Также допускается написание псевдонимов в виде MOF- или XML-файлов. Впоследствии такие MOF- или XML-файлы можно использовать для регистрации псевдонима. Регистрация псевдонимов в WMI выполняется путем компиляции MOF-формы псевдонима. XML-файлы псевдонимов могут быть преобразованы в формат MOF с помощью таблицы стилей (с помощью файла WMICliMofFormat.xsl). XML-файлы псевдонимов регистрируются из командной строки. Командная строка определяет модуль обработки XSL, используемый для преобразования файла псевдонима в формат WMI и импорта псевдонимов в схему WMI.

При просмотре пространств имен ролей с помощью средств WMI (таких как CIM Studio) экземпляры имеют только классы MSFT_CliAlias и MSFT_CliTranslateTable. Их свойства могут включать объекты других классов, но другие классы не будут иметь собственных экземпляров. (Исключение может также составлять класс CliSeeAlso.) Таким образом, при создании псевдонимов в основном создаются экземпляры в классе MSFT_CliAlias. Экземпляры других классов создаются как свойства класса MSFT_CliAlias или как свойства его свойств.

Локализация поддерживается за счет использования локализованных строковых массивов, определенных в схеме. Локализация описаний псевдонимов выполняется с помощью MFL-файла (подробности будут предоставлены в следующей версии справки; подробности также могут содержаться в наборе WMI SDK).

Добавление ролей

В качестве роли может выступать любое пространство имен WMI. Однако без дополнительных шагов роль не будет иметь интерактивной справки WMIC или базовых классов, необходимых для псевдонимов. Самым простым способом сделать доступными справку и необходимые классы является копирование файла WMIC Cli.mof и изменение ссылки на пространство имен таким образом, чтобы она указывала на пространство имен, которое должно использоваться в качестве роли. После этого можно скомпилировать новый файл с помощью программы MOFCOMP.exe. Затем можно добавить псевдонимы, как описано выше.

Дополнительные разделы

Следующая версия справки будет содержать разделы, посвященные следующим вопросам:
  • работа с MOF-, XSL- и, возможно, другими файлами для определения псевдонимов (а также форматов вывода и таблиц преобразования);
  • способы внедрения имен удаленных компьютеров в псевдонимы.


Создание и изменение форматов

Под форматами подразумеваются предоставляемые WMIC форматы XSL-файлов. Формат, в котором XSL-файлы хранятся в каталоге WBEM. Форматы используются командами GET, LIST и ASSOC. Для указания конкретных форматов используются команды GET /FORMAT:, LIST /FORMAT:, GET /ALL, GET /VALUE и ASSOC /FORMAT:.

При создании настраиваемых форматов следует также определить их в свойстве Formats класса MSFT_CliAlias. Каждый формат должен иметь уникальное имя (в пределах конкретного псевдонима).

WMIC использует следующие форматы вывода.

  • wmiclimofformat.xsl — преобразует данные XML в формат MOF. Если псевдонимы или другие объекты WMI определены в формате XML, этот файл XSL может использоваться для преобразования к MOF и обработки MOFCOMPed. Формат: /FORMAT:MOF.
  • wmiclitableformat.xsl — /ALL или /FORMAT:TABLE.
  • wmiclitableformatnosys.xsl — аналог формата wmiclitableformat.xsl; отличается отсутствием возможности отображения «системных свойств» WMI (свойств пути WMI для экземпляров и т. д.).
  • wmiclivalueformat.xsl — формат /VALUE — одна строка для каждого значения.
WMI содержит дополнительные XSL-файлы, которые могут быть полезны при использовании WMIC.
  • mof.xsl — преобразует данные XML в формат MOF. Если псевдонимы или другие объекты WMI определены в формате XML, этот файл XSL может использоваться для преобразования к MOF и обработки MOFCOMPed.
  • xml.xsl — вывод данных XML в формате XML. Все данные WMIC извлекаются в формате XML, то есть данный формат предоставляет данные в том виде, в котором их использует WMIC. Это может быть полезно для создания собственных XSL-файлов. вывод данных в формате XML также полезен для предоставления данных системам, принимающим данные XML.
  • hform.xsl — вывод html — данные отображаются в виде вертикальной таблицы (по одной строке для имени каждого свойства или экземпляра). Эта таблица может быть очень большой.
  • htable.xsl — вывод html — данные отображаются в виде горизонтальной таблицы (по одной строке для каждого экземпляра). Эта таблица может быть очень большой.
  • texttable.xsl — аналог wmiclitableformatnosys.xsl.
  • texttablewsys — аналог wmiclitableformat.xsl.
  • textvaluelist — аналог wmiclivalueformat.xsl; отличается тем, что имена свойств не включаются в каждую строку. В результате формат является более компактным.

Как создавать или изменять форматы

С помощью редактора XSL. Для начала можно скопировать готовые данные XML и поэкспериментировать с ними в редакторе XSL.

При желании можно добавить форматы в класс псевдонима. Это облегчит обнаружение и использование форматов.


Создание и изменение таблиц преобразования

Таблицы преобразования позволяют привести к необходимому виду выходные данные, возвращаемые командами WMIC. Таблицы преобразования предоставляют те же возможности, что и другие средства форматирования, однако такие таблицы легче создавать и изменять.

Таблицы преобразования указываются после переключателя /TRANSLATE в действиях LIST или GET. В состав WMIC входит только таблица преобразования BasicXML. Она предназначена для преобразования примитивов HTML для знаков «больше» и «меньше» в сами знаки.

Таблицы преобразования определены в классе MSFT_CliTranslateTable.


Справочные сведения

Чтобы лучше изучить WMIC, можно воспользоваться следующими материалами:
  • Терминология
  • Формальный синтаксис команды WMIC
  • Архитектура WMIC


Терминология

Это временный раздел. Следующие термины будут доработаны и затем включены в глоссарий.
Модификатор
параметр действия, уточняющий что именно должно быть сделано
Псевдоним
определение классов WMI, применяемое в WMIC. Псевдонимы упрощают обращение к классам и свойствам. Они также предоставляют действия, облегчающие работу с классами. Псевдонимы могут включать средства для работы с классами на удаленном компьютере, а также на нескольких компьютерах.
Ассоциатор
отношение между экземплярами
Класс
определение объекта WMI
Глобальный переключатель
переключатель, применяемый к операции WMIC и всем пседонимам
Экземпляр
конкретный набор данных
Интерактивные
действия, для выполнения которых запрашивается подтверждение
Интерактивный режим
характеризуется вводом команд вручную в командной строке WMIC
Метод
доступная для выполнения функция класса или экземпляра WMI
MOF
Managed Object Format — формат управляемых объектов; формат текстовых файлов, содержащих данные WMI
Пространство имен
виртуальное пространство, в котором находятся классы и экземпляры WMI
Пакетный режим
характеризуется вводом команд из внешней (по отношению к WMIC) командной строки, например, операционной системы
Объект
воплощение экземпляра
Путь объекта
путь WMI для использования при обращении к экземпляру или классу
Путь
размещение экземпляра или класса WMI
Свойства
параметры объекта
Роль
пространство имен с данными WMIC
Схема
формальное определение пространства имен
Переключатель
квалификатор, задающий режим или параметр выполнения команды
Таблица преобразования
правила преобразования выходных данных WMIC
Действие
параметр, обозначающий операцию, которая должна быть выполнена с псевдонимом
XML
eXtensible Markup Language — язык расширяемой разметки; стандарт описания данных
XSL
eXtensible Style Language — язык расширяемых стилей; стандарт форматирования данных XML


Формальный синтаксис команды WMIC

В следующей таблице представлена нормальная форма Бэкуса-Наура (Backus-Naur Form, BNF) командной строки WMIC.
<Команда WMI> | ::= | [<список глобальных переключателей>] <команда>
<список глобальных переключателей> | ::= | <глобальные переключатели> | <глобальные переключатели> <список глобальных переключателей>
<глобальные переключатели> | ::= | (/NAMESPACE | /ROLE ) [:<пространство имен>] | /NODE [:<список идентификаторов компьютеров>] | /IMPLEVEL [:<уровень олицетворения>] | /AUTHLEVEL [:<уровень проверки подлинности>] | /LOCALE [:<идентификатор языка>] | /PRIVILEGES [:<свойство>] | /TRACE [:<вариант>] | /RECORD [:<путь файла>] | /INTERACTIVE /USER [:<идентификатор пользователя>] | /PASSWORD [:<идентификатор пароля>] | /? [:<тип справки>]
<список идентификаторов компьютеров> | ::= | <идентификатор компьютера> | <идентификатор компьютера> <список идентификаторов компьютеров>
<команда> | ::= | (<псевдоним> [ <объект WMI>] | [<псевдоним>] <путь>) [<оператор действия>] | EXIT | CLASS [<выражение пути класса>] [<оператор действия>] | RESTORE [ <путь файла восстановления>]
<путь where> | ::= | [PATH (<выражение пути> | <выражение пути класса> )][ WHERE <оператор where>]
<псевдоним> | ::= | !! имя для псевдонима. Уникальное имя в пространстве имен, в котором определен псевдоним. В качестве имен псевдонимов нельзя использовать зарезервированные слова CLASS, PATH, WHERE, RESTORE и EXIT.
<объект WMI> | ::= | <родительский объект> <параметры псевдонима> <родительский объект> | <параметры псевдонима>
<выражение пути> | ::= | !! Выражение пути WMI, включая оператор key
<оператор where> | ::= | !! Оператор where языка запросов WQL в необязательных круглых скобках
<выражение пути класса> |  | !! Выражение пути WMI без использования оператора key
<параметры псевдонима> | ::= | !! один или несколько пробелов, разделенные литералами, которые будут использоваться для подстановки в переменную PWhere псевдонима.
<оператор действия> | ::= | (<действие> [<параметры действия>] | <стандартное действие>) [<переключатели действия>]
<действие> | ::= | <имя свойства> | <идентификатор> | <имя метода>
<переключатели действия> | ::= | /INTERACTIVE | /NOINTERACTIVE
<параметр действия> | ::= | <фактический параметр> | <фактический параметр> , <параметр действия>
<стандартное действие> | ::= | <действие get> | <действие list> | <действие assoc> | <действие call> | <действие create-set> | <действие delete>
<идентификатор> | ::= | <заголовок идентификатора> [<окончание идентификатора>]
<заголовок идентификатора> | ::= | <буква>
<окончание идентификатора> | ::= | <идентификатор> [<буква> | <цифра>]
<действие get> | ::= | GET [<список свойств>] [<переключатели get>]
<список свойств> | ::= | <имя свойства> | <имя свойства> , <список свойств>
<действие list> | ::= | LIST [<формат списка>|<переключатели списка>]
<действие assoc> | ::= | ASSOC [<спецификатор формата>]
<действие call> | ::= | CALL <имя метода> [<список фактических параметров>]
<список фактических параметров> | ::= | <фактический параметр> | <фактический параметр> , <список фактических параметров>
<действие create-set> | ::= | SET <список значений>| CREATE <список значений>
<список значений> | ::= | <имя свойства> = <значение свойства> | <имя свойства> = <значение свойства> <список значений>
<действие delete> | ::= | DELETE
<переключатели get> | ::= | /VALUE | /ALL | /TRANSLATE :<имя таблицы> | /EVERY :<интервал> | /FORMAT [:<спецификатор формата>] | /DESCRIPTION [:<кодовая страница>]
<интервал> | ::= | !! число, обозначающее частоту, с которой должны возвращаться значения
<спецификатор формата> | ::= | :<имя xsl-файла> | :TABLE | :MOF
<формат списка> | ::= | BRIEF | INSTANCE | SYSTEM | STATUS | FULL | <пользовательский формат>
<переключатели списка> |  | /TRANSLATE | /EVERY :<интервал>| /FORMAT [:<спецификатор формата>]
<тип справки> | ::= | : BRIEF | : FULL


Архитектура WMIC

В этом разделе обсуждается отношение WMIC к подсистеме WMI, другим компьютерам и языкам сценариев. Раздел также касается взаимосвязи между псевдонимами, форматами, таблицами преобразования и другими элементами WMIC.

WMIC имеет обработчик для синтаксического разбора, интерпретации и выполнения операций с псевдонимами, вводимых в командной строке. Этот обработчик представляет собой исполняемый файл WMICli.exe, запускаемый на компьютере, к которому подключен пользователь. Любое расширение возможностей интерпретатора командной строки WMI должно быть сделано посредством определения и регистрации файлов псевдонимов.

Псевдонимы извлекаются из схемы WMI в виде XML-файлов. Эти файлы связаны с файлами DTD (Document Type Definition — определение шаблона документа) и XSL (eXtensible Style Language — язык расширяемых стилей), которые позволяют определять необходимые данные и способы их представления. XML-форма псевдонима может быть использована для документирования или обмена.

WmiCli.exe получает команду через интерфейс stdin. Программа выполняет синтаксический разбор команды и, если команда содержит псевдоним, определение псевдонима извлекается из текущего операционного пространства имен WMI (по умолчанию root\ops). Интерпретация команды зависит от псевдонима и настройки среды, например текущего конечного пространства имен. Обработка команды сводится к выполнению последовательности вызовов API-интерфейса WMI к конечному пространству имен. В качестве конечного пространства может использоваться любое пространство имен при условии, что оно совместимо с обрабатываемым псевдонимом.

Данные, полученные вызовами API, преобразуются в формат XML. После форматирования данных в соответствии с таблицей стилей XSL, связанной с псевдонимом, они возвращаются пользователю через интерфейс stdout. Конечная система и система управления не обязаны совпадать, однако инициатор запроса должен иметь достаточные полномочия для доступа к первой из них.

Если конкретная таблица стилей не задана, к выходным данным применяется стандартная таблица стилей FULL.