Вторник, 19.03.2024
Справочники по программированию.
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Рейтинг@Mail.ru
WMIC в примерах. Часть 1. - wAdmin.ru

WMIC в примерах. Часть 1.

wmicНезаслуженно забываемый инструмент под названием WMIC бывает довольно полезен, например когда нет желания или возможности заморачиваться со скриптами на PowerShell или на Vbs.

PowerShell может быть элементарно не установлен, а на vbs писать просто лень, в итоге мы судорожно начинаем искать софт который нам соберет нужную информацию. Софта с нужным функционалом не находится потому то что есть платное, но нас душит жаба и поэтому мы садимся и пишем то что требуется руками :)

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

Запуск инструмента производится с помощью команды wmic. В командной строке открывается приглашение вот такого вида:

wmic:root\cli>

Функционал небогатый но он хорошо документирован.

wmic:root\cli>/?

Если требуется полная справка то команда выглядит слегка неожиданно

wmic:root\cli>/?:full

Информация о системе

Получаем сведения о системе по команде

wmic:root\cli>os

выводится довольно много информации и что бы хоть как то ее разделить есть команда

wmic:root\cli>os list /?

Которая выводит список возможных параметров фильтрации информации.
Для примера можно взять ключи STATUS или BRIEF

wmic:root\cli>os list Status
wmic:root\cli>os list Brief

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

wmic:root\cli>os list Brief /format:list
wmic:root\cli>os list Brief /format:table

Для того что бы не перебирать все параметры можно получить всю в виде списка

wmic:root\cli>os get * /format:list

С помощью данного инструмента можно получать информацию с удаленных хостов. Для этого достаточно использовать ключ /node: с указанием имени хоста.

wmic:root\cli>/node:"host-01" computersystem list brief /format:list
wmic:root\cli>/node:"host-01", "host-02" computersystem list brief /format:list

В случае если у вас много хостов то в качестве исходных данных можно подпихнуть файл.

wmic:root\cli>/node:@c:\Scripts\hostlist.txt computersystem list brief /format:list

Если вы работаете не под учетной записью пользователя имеющего повышенные полномочия, я искренне надеюсь что это так и есть, то вам понадобится указывать учетные данные. Выполняется это в формате.

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”

wmic:root\cli>/node:@c:\Scripts\hostlist.txt /Output:"C:\Scripts\ProcessorReport.txt" cpu get Systemname,Name,Description,Manufacturer,AddressWidth,DeviceID /format:list

Информация о дисках

Сбор данных о дисках выполняется с той же легкостью и синтаксис запроса прост.

wmic:root\cli>logicaldisk list brief /format:list

Собираем данные о всех дисках с типом “3″

wmic:root\cli>logicaldisk where drivetype=3 get Name,Size,Freespace

Собираем данные о всех дисках с буквой “Z:”

wmic:root\cli>logicaldisk where name='Z:' get size,freespace,volumename

Информация о логических дисках на удаленных хостах собирается аналогично первому пункту.

Информация о сетевой карте

Немного, но хоть что то…

wmic:root\cli>nic get * /format:list
wmic:root\cli>nic get macaddress,description

Информация о сервисах

Для получения представления о том что можно делать с сервисами вводим

wmic:root\cli>service /?

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

Для фильтрации вывода используется стандартные команды “where”, “and” или “or”. Вот пример того как можно получить список всех запущенных сервисов имеющих тип запуска “Auto”

wmic:root\cli>service where 'startmode="Auto" AND state<>"Running"' get Name,Startmode,State

Информация о процессах

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

Выводим список процессов так

wmic:root\cli>process list brief

или так

wmic:root\cli>process get name,processid

Ищем среди них cmd.exe

wmic:root\cli>process where description='cmd.exe' list brief

Создаем новый процесс notepad.exe

wmic:root\cli>process call create notepad.exe

Завершаем процесс по его ID

wmic:root\cli>process where processid="1000" call terminate

Установленные программы и обновления

Для получения списка установленных программ вводим

wmic:root\cli>product get name > programlist.txt

Выводим список всех установленных обновлений в файл

wmic:root\cli>qfe list > updatelist.txt

Информация об авторе

no
image
Сергей Мариничев.
Вы можете присоединиться ко мне в Facebook или в Twitter.

Если Вам понравилась статья, то вы можете подписаться на RSS.
А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.

Получать обновления на email

Вы можете оставить комментарий.

Добавить комментарий

XHTML: Вы можете использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный хостинг uCoz
    Рейтинг@Mail.ru