Запуск инструмента производится с помощью команды wmic. В командной строке открывается приглашение вот такого вида:
Code:
wmic:root\cli>
Функционал небогатый но он хорошо документирован.
Code:
wmic:root\cli>/?
Если требуется полная справка то команда выглядит слегка неожиданно
Code:
wmic:root\cli>/?:full
Информация о системе Получаем сведения о системе по команде
Code:
wmic:root\cli>os
выводится довольно много информации и что бы хоть как то ее разделить есть команда
Code:
wmic:root\cli>os list /?
Которая выводит список возможных параметров фильтрации информации. Для примера можно взять ключи STATUS или BRIEF
Code:
wmic:root\cli>os list Status
wmic:root\cli>os list Brief
Полученную информацию можно вывести в виде списка или таблицы
Code:
wmic:root\cli>os list Brief /format:list
wmic:root\cli>os list Brief /format:table
Для того что бы не перебирать все параметры можно получить всю в виде списка
Code:
wmic:root\cli>os get * /format:list
С помощью данного инструмента можно получать информацию с удаленных хостов. Для этого достаточно использовать ключ /node: с указанием имени хоста.
Code:
wmic:root\cli>/node:"host-01" computersystem list brief /format:list
wmic:root\cli>/node:"host-01", "host-02" computersystem list brief /format:list
В случае если у вас много хостов то в качестве исходных данных можно подпихнуть файл.
Code:
wmic:root\cli>/node:@c:\Scripts\hostlist.txt computersystem list brief /format:list
Если вы работаете не под учетной записью пользователя имеющего повышенные полномочия, я искренне надеюсь что это так и есть, то вам понадобится указывать учетные данные. Выполняется это в формате.
Code:
wmic:root\cli>/node:"host-01" /user:LAB\lab.admin computersystem list brief /format:list
wmic:root\cli>/node:"host-01" /user:LAB\lab.admin /password:"$F#IPV&G5AWSY%Cx" computersystem list brief /format:list
Если требуется вывести результат в файл то используем ключ «/Output»
Code:
wmic:root\cli>/node:@c:\Scripts\hostlist.txt /Output:"C:\Scripts\ProcessorReport.txt" cpu get Systemname,Name,Description,Manufacturer,AddressWidth,DeviceID /format:list
Информация о дисках Сбор данных о дисках выполняется с той же легкостью и синтаксис запроса прост.
Code:
wmic:root\cli>logicaldisk list brief /format:list
Собираем данные о всех дисках с типом «3″
Code:
wmic:root\cli>logicaldisk where drivetype=3 get Name,Size,Freespace
Собираем данные о всех дисках с буквой «Z:»
Code:
wmic:root\cli>logicaldisk where name='Z:' get size,freespace,volumename
Информация о логических дисках на удаленных хостах собирается аналогично первому пункту. Информация о сетевой карте Немного, но хоть что то…
Code:
wmic:root\cli>nic get * /format:list
wmic:root\cli>nic get macaddress,description
Информация о сервисах Для получения представления о том что можно делать с сервисами вводим
Code:
wmic:root\cli>service /?
Выводится список методов в списке которых есть все нужное для создания, модификации существующих, остановки, старта и пр. Для фильтрации вывода используется стандартные команды «where», «and» или «or». Вот пример того как можно получить список всех запущенных сервисов имеющих тип запуска «Auto»
Code:
wmic:root\cli>service where 'startmode="Auto" AND state<>"Running"' get Name,Startmode,State
Информация о процессах Следующим объектом для исследования будет команда process, которая позволяет получать информацию о запущенных процессах а так же управлять ими. Выводим список процессов так
Code:
wmic:root\cli>process list brief
или так
Code:
wmic:root\cli>process get name,processid
Ищем среди них cmd.exe
Code:
wmic:root\cli>process where description='cmd.exe' list brief
Создаем новый процесс notepad.exe
Code:
wmic:root\cli>process call create notepad.exe
Завершаем процесс по его ID
Code:
wmic:root\cli>process where processid="1000" call terminate
Установленные программы и обновления Для получения списка установленных программ вводим
Code:
wmic:root\cli>product get name > programlist.txt
Выводим список всех установленных обновлений в файл
Code:
wmic:root\cli>qfe list > updatelist.txt