Вывод в текстовый файл

Форматы вывода данных WMIC. Типичные команды для администрирования

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

Стандартные форматы вывода

По умолчанию WMIC поддерживает несколько форматов вывода.

Вывод в буфер Windows

Иногда бывает удобно перенаправить вывод команд WMIC в буфер Windows, например, для последующей вставки результатов выполнения команды в документ Microsoft Word. Для этого нужно в командной строке WMIC глобальному параметру /OUTPUT присвоить значение CLIPBOARD:

/OUTPUT:CLIPBOARD

После этого в буфере будет сохраняться информация, выведенная последней выполненной командой WMIC.

Вывод в XML-файл

Сохранять в XML-файле информацию о запускаемых командах WMIC и выводимых ими результатах можно двумя способами: с помощью глобального параметра /RECORD или с помощью формата вывода RAWXML.

Если в XML-файле не нужно будет производить детальный разбор выводимых командами данных, то проще задать выходной файл с помощью параметра /RECORD, например:

/RECORD:C:\out_wmic.xml

После этого каждой вводимой команде WMIC в этом файле будет соответствовать элемент <RECORD>, внутри которого будут записаны элементы <REQUEST> с информацией о команде и <OUTPUT> с результатом выполнения команды в блоке <![CDATA[.

Для того чтобы отменить такой вывод в XML-файл, нужно либо закрыть сеанс WMIC, либо присвоить параметру /RECORD пустое значение: /RECORD:""

Если же требуется полностью структурировать выводимую командами LIST или GET информацию, то можно воспользоваться форматом вывода RAWXML и перенаправить вывод во внешний файл с помощью параметра /OUTPUT, например:

/OUTPUT:C:\out_xml.xml CPU LIST BRIEF /FORMAT:RAWXML

Корневым элементом в файле out_xml.xml будет элемент <COMMAND>, в атрибутах которого записан порядковый номер выполняемой команды в сеансе WMIC ( SEQUENCENUM ), имя компьютера, на котором была запущена команда ( ISSUEDFROM ), время начала выполнения команды ( STARTTIME ) и количество повторов команды ( EVERYCOUNT ).

Элемент <REQUEST> является контейнером, внутри которого находятся элементы, содержащие информацию о запущенной команде и значениях параметров WMIC, которые были установлены во время запуска команды.

Элемент <COMMANDLINE> содержит полный текст запускаемой программы:

<COMMANDLINE> /OUTPUT:C:\out_xml.xml CPU LIST BRIEF /

FORMAT:RAWXML </COMMANDLINE>

В контейнере <COMMANDLINECOMPONENTS> находятся элементы, полученные в результате разбора командной строки. Элемент <NODELIST>содержит список компьютеров (элементы <NODE> ), на которых запускалась команда.

В элементе <FRIENDLYNAME> хранится имя используемого псевдонима WMIC, в <TARGET> — текст WQL-запроса, который соответствует псевдониму, в <ALIASTARGET> — название класса WMI, к которому происходит обращение:

<FRIENDLYNAME>CPU</FRIENDLYNAME>

<TARGET>Select * from WIN32_PROCESSOR</TARGET>

<ALIASTARGET>WIN32_PROCESSOR</ALIASTARGET>

Элемент <NAMESPACE> содержит путь к используемому пространству имен CIM, в элементе <RESULTANTQUERY> записан текст WQL-запроса, который был выполнен при запуске команды (в нашем примере этот запрос построен с учетом модификатора BRIEF ):

<NAMESPACE>ROOT\CIMV2</NAMESPACE>

<RESULTANTQUERY> SELECT Caption, DeviceID, Manufacturer,

MaxClockSpeed, Name, SocketDesignation FROM WIN32_PROCESSOR

</RESULTANTQUERY>

В элементе <FORMATS> приведен список XSL-файлов, которые используются для форматирования результатов выполнения команды.

В элементе <PROPERTIES> находятся описания всех свойств класса WMI, которые фигурируют в выполняемом запросе. Каждому такому свойству соответствует элемент <PROPERTY>.

Значения всех глобальных параметров WMIC, каждому из которых соответствует свой XML-элемент, собраны внутри контейнера <CONTEXT>.

Результаты выполнения запущенной команды находятся внутри элемента <CIM> в контейнере <RESULTS>.

Внутри контейнера <CIM> находятся элементы <INSTANCE>, соответствующие экземплярам класса WMI, выбранным в результате выполнения WQL-запроса. Каждый элемент <INSTANCE> содержит элементы <PROPERTY>, соответствующие свойствам экземпляра класса WMI (имя свойства записано в атрибуте NAME, тип свойства — в атрибуте TYPE ). Внутри элемента <PROPERTY> находится элемент <VALUE>, значение которого совпадает со значением соответствующего свойства экземпляра класса WMI.

Вывод в HTML-файл

С помощью стандартных форматов вывода HFORM и HTABLE можно, используя параметр /OUTPUT, сформировать HTML-файлы двух видов с результатами выполнения операторов LIST и GET.

Формат вывода HFORM позволяет представить выходную информацию в виде совокупности HTML-таблиц для каждого из экземпляров класса, выбранного в результате выполнения команды. При этом в первом столбце этих таблиц записывается имя свойства, а во втором — значение этого свойства. Например, выполним команду

/OUTPUT:C:\hf.htm PROCESS LIST BRIEF /FORMAT:HFORM

и откроем полученный файл hf.htm с помощью браузера Internet Explorer (рис. 15.1).

Рис. 15.1.Пример выходного HTML-файла, полученного с помощью формата HFORM

С помощью формата HTABLE можно поместить всю выводимую информацию в одну HTML-таблицу, в которой каждая строка соответствует одному экземпляру класса. В заголовках столбцов этой таблицы записываются названия выводимых свойств, а в самих столбцах — значения этих свойств. Например, на рис. 15.2 показан открытый в браузере Internet Explorer файл ht.htm, который был сформирован в результате выполнения следующей команды:

/OUTPUT:C:\ht.htm PROCESS LIST BRIEF /FORMAT:HTABLE

Рис. 15.2.Пример выходного HTML-файла, полученного с помощью формата HTABLE

Кроме этого, таблица, получаемая с помощью формата HTABLE, может быть отсортирована по любому столбцу с помощью параметра sortby(название параметра обязательно должно быть набрано маленькими буквами), в качестве значения которого должно быть указано имя нужного столбца (свойства). Например, для получения таблицы процессов, отсортированной по полю Name, нужно выполнить следующую команду:

/OUTPUT:C:\ht.htm PROCESS LIST BRIEF /FORMAT:HTABLE:"sortby=Name"

 

Вывод в текстовый файл

Для того чтобы перенаправить вывод операторов LIST и GET в текстовый файл, используется параметр /OUTPUT вместе с форматами вывода TEXTTABLE, TEXTTABLEWSYS и TEXTVALUELIST.

Формат TEXTTABLE позволяет получить информацию в табличном виде, где каждая колонка соответствует определенному свойству класса WMI, причем числовые значения форматируются в соответствии с региональными настройками Windows.

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

С помощью формата TEXTVALUELIST можно для каждого возвращаемого экземпляра класса WMI получить список пар вида свойство=значение.

Вывод в CSV-файл

Стандартный формат вывода CSV позволяет преобразовывать информацию, возвращаемую командами WMIC, в формат файла с разделителями, при этом в качестве разделителя выступает запятая. Данные файлы потом могут быть легко открыты, например, с помощью программы Microsoft Excel.

Для примера выполним следующую команду:

/OUTPUT:C:\klop.csv PROCESS LIST BRIEF /FORMAT:CSV

В результате на диске C формируется текстовый файл klop.csv, в первой строке которого будут записаны разделенные запятыми названия свойств псевдонима PROCESS, а в остальных строках — значения этих свойств для всех процессов, запущенных в системе:

Node,HandleCount,Name,Priority,ProcessId,ThreadCount,WorkingSetSize,

POPOV,0,System Idle Process,0,0,1,20480,

POPOV,194,System,8,4,50,131072,

POPOV,21,SMSS.EXE,11,364,3,159744,

...


<== предыдущая лекция | следующая лекция ==>
Взаимодействие с Microsoft Word | Сценарии WSH как XML-документы. Схема WS XML




Дата добавления: 2018-03-01; просмотров: 1807;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.01 сек.