Синтаксис командного языка WMIC
Команды, выполняемые в интерактивном режиме работы WMIC, должны иметь определенную структуру. В командной строке могут присутствовать глобальные параметры, псевдонимы, операторы (verbs) и команды, причем все эти компоненты должны записываться в строго заданном порядке.
Вообще говоря, синтаксис командного языка WMIC может быть представлен в нормальной форме Бэкуса-Наура (Backus-Naur Form, BNF), которая была разработана для описания языка Алгол-60 и затем использовалась для многих других языков программирования. При записи грамматики в форме Бэкуса-Наура используются несколько типов объектов.
· Основные (терминальные) символы. К ним относят, в частности, ключевые слова.
· Металингвистические переменные (нетерминальные символы). Их значениями являются цепочки основных символов описываемого языка. Металингвистические переменные изображаются словами, заключенными в угловые скобки ("<", ">").
· Металингвистические связки изображаются специальными символами ( "::=", "|" ) и используются для определения и связи друг с другом металингвистических переменных.
Мы не будем здесь давать подробных правил построения и анализа формы Бэкуса-Наура, а лишь приведем для иллюстрации простой пример описания правила записи целого числа в этой форме:
<целое> ::= <целое без знака> | +<целое без знака> | -<целое без знака>
<целое без знака> ::= <цифра> | <целое без знака> <цифра>
<цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
На практике чаще всего командная строка WMIC строится следующим образом:
[<глобальные параметры>] <псевдоним>
[WHERE <оператор WHERE>] [<оператор действия>]
Приведем несколько простых примеров.
Запустим WMIC и введем следующую команду:
SERVICE LIST
Здесь SERVICE является псевдонимом, а LIST — оператором действия, применяемым к этому псевдониму. В результате мы получим список всех служб, зарегистрированных на локальной машине:
wmic:root\cli>SERVICE LIST
AcceptPause AcceptStop Caption
ystemName TagId WaitHint
FALSE FALSE Оповещатель
FALSE TRUE Служба шлюза уровня приложения
FALSE FALSE Управление приложениями
FALSE FALSE ASP.NET State Service
. . .
Для того чтобы вывести сведения о конкретной службе (например, о службе оповещения), нужно использовать ключевое слово WHERE, например:
wmic:root\cli>SERVICE WHERE Name="Alerter" LIST
AcceptPause AcceptStop Caption CheckPoint CreationClassName . . .
FALSE FALSE Оповещатель 0 Win32_Service Посылает . . .
Если необходимо получить информацию о службе оповещения на удаленном компьютере \\Server1, применяется глобальный параметр /NODE:
/NODE:"Server1" SERVICE WHERE Name="Alerter" LIST
Рассмотрим теперь более подробно каждый из компонентов командной строки WMIC.
Команды WMIC
WMIC поддерживает пять стандартных команд: CONTEXT, CLASS, PATH, QUIT и EXIT.
Команда CONTEXT
Команда CONTEXT позволяет увидеть значения всех глобальных параметров, которые используются в среде WMIC по умолчанию. Сами глобальные параметры и их возможные значения будут подробно рассмотрены далее.
Команда CLASS
С помощью команды CLASS можно получить доступ классу WMI напрямую, без использования псевдонима WMIC. Для этого в командной строке WMIC сразу после команды CLASS должен быть указан точный путь к этому классу WMI.
Таким образом, команда CLASS позволяет извлечь определение какого-либо класса WMI или создать его новые экземпляры. Например, для того чтобы увидеть все свойства и методы класса Win32_Process, можно выполнить следующую команду (результат будет выведен на экран в формате HTML):
CLASS Win32_Process
Команда PATH
Команда PATH применяется для прямого доступа к одному или нескольким экземплярам классов WMI, без указания псевдонимов WMIC. Команда PATH особенно полезна, если для нужного класса WMI не существует псевдонима WMIC.
Например, рассмотрим команду, в которой используется псевдоним PROCESS для вывода на экран некоторых сведений о запущенном Проводнике Windows:
PROCESS WHERE (Name="explorer.exe") GET Caption,
CommandLine, Handle
Так как псевдоним PROCESS соответствует классу Win32_Process, то эта команда равносильна следующей:
PATH Win32_Process WHERE (Name="explorer.exe")
GET Caption, CommandLine, Handle
Отметим также, что отбор конкретных экземпляров класса при использовании команды PATH, может производиться не только с помощью ключевого слова WHERE, но и путем задания полного пути к объекту через значения его ключевых свойств. Например, следующая команда равносильна двум предыдущим:
PATH Win32_Process.Name="explorer.exe" GET Caption,
CommandLine, Handle
Дата добавления: 2018-03-01; просмотров: 932;