## Работа с WMIC
Команда WMIC (Windows Management Instrumentation Command) используется для получения сведений об оборудовании и системе, управления процессами и их компонентами, а также изменения настроек с использованием возможностей инструментария управления Windows (Windows Management Instrumentation или WMI) .
Инструментарий управления Windows (WMI) – это набор программных средств, обеспечивающий управление системой с использованием сценариев, выполняемых в среде Windows Script Host ( или ранее - Windows Scripting Host ) или в командной строке с помощью утилиты WMIC.EXE. Windows Script Host или сокращенно WSH - это компонент Microsoft Windows, предназначенный для запуска сценариев на скриптовых языках JScript и VBScript. Сценарии WSH обычно используются в тех случаях, когда требуется выполнить набор каких-либо действий, требующих написания относительно сложного исходного кода, но нередко в повседневной практике администрирования, удобнее воспользоваться возможностями командной строки WMIC.
Технология WMI — это расширенная и адаптированная под Windows реализация стандарта Web-Based Enterprise Management ( WBEM ), принятого многими крупными компаниями в качестве универсального интерфейса мониторинга и управления различными системами и компонентами распределенной информационной среды предприятия с использованием объектно-ориентированных идеологий и протоколов HTML и XML. В основе структуры данных в WBEM лежит Common Information Model (CIM), реализующая объектно-ориентированный подход к представлению компонентов системы. Практически, WMI, основанный на CIM, является открытой унифицированной системой интерфейсов доступа к любым параметрам операционной системы, устройствам и приложениям, которые функционируют в ней.
Программные средства WMI устанавливаются по умолчанию и включают в себя следующие компоненты:
wmimgmt.msc – оснастка консоли MMC, позволяющая в целом управлять самой системой WMI на выбранном компьютере.
Winmgmt.exe – консольная утилита управления WMI. Выполняет аналогичные действия, что и консоль MMC wmimgmt.msc. Кроме того, является исполняемым файлом сервиса WMI в системе. Для запуска из консоли используется с опцией /exe (winmgmt.exe /exe).
Wbemtest.exe – графическая утилита для интерактивной работы с WMI. Удобна для тестирования классов и методов, просмотра свойств и т. п.
Wmic.exe – консольная утилита для вызова объектов и методов WMI (WMI Console) – присутствует только в Windows XP и более поздних версиях Windows.
mofcomp.exe – компилятор MOF-файлов. Служит для расширения репозитория WMI и тонких операций с библиотекой классов WMI, а также для обнаружения и исправления ошибок данных репозитория.
Основной каталог данных WMI при стандартной установке Windows - C:\Windows\System32\wbem.
Формат командной строки:
wmic [глобальные параметры] < команда >
Если параметры командной строки отсутствуют, то утилита wmic.exe переходит в интерактивный режим, с отображением приглашения к вводу команд:
wmic:root\cli >
Подсказку по работе с утилитой wmic.exe можно получить по команде:
wmic /? - отобразить общую справку.
wmic /?:BRIEF - отобразить краткую справку.
wmic /?:FULL - отобразить полную стправку.
Содержание общей справки:
[глобальные параметры] <команда>
Имеются следующие глобальные параметры:
/NAMESPACE Путь к пространству имен, с которым оперирует псевдоним.
/ROLE Путь к роли, содержащей определения псевдонимов.
/NODE Серверы, с которыми будет работать псевдоним.
/IMPLEVEL Уровень олицетворения для клиента
/AUTHLEVEL Уровень проверки подлинности для клиента.
/LOCALE Код языка, который должен использовать клиент.
/PRIVILEGES Включает или выключает все привилегии.
/TRACE Выводит отладочные данных в stderr.
/RECORD Записывает все вводимые команды и их выходные данные.
/INTERACTIVE Устанавливает или переустанавливает интерактивный режим.
/FAILFAST Устанавливает или переустанавливает режим FailFast.
/USER Имя пользователя для сеанса.
/PASSWORD Пароль для входа в сеанс.
/OUTPUT Задает режим перенаправления выходных данных.
/APPEND Задает режим перенаправления выходных данных.
/AGGREGATE Устанавливает или переустанавливает режим совместного вывода.
/AUTHORITY Задает <тип_полномочий> для подключения.
/?[:< BRIEF|FULL >] Сведения об использовании.
Для получения дополнительных сведений о конкретном глобальном параметре введите: < имя_параметра > /?
Для текущей роли доступны следующие псевдонимы:
ALIAS - Доступ к псевдонимам, доступным на локальном компьютере
BASEBOARD - Управление системной платой.
BIOS - Управление BIOS.
BOOTCONFIG - Управление конфигурацией загрузки.
CDROM - Управление устройствами чтения компакт-дисков.
COMPUTERSYSTEM - Управление компьютером.
CPU - Управление ЦП.
CSPRODUCT - Сведения о системе из SMBIOS.
DATAFILE - Управление файлами данных.
DCOMAPP - Управление приложениями DCOM.
DESKTOP - Управление рабочим столом.
DESKTOPMONITOR - Управление системой мониторинга рабочего стола.
DEVICEMEMORYADDRESS - Управление адресами памяти устройства.
DISKDRIVE - Управление физическими дисками.
DISKQUOTA - Использование дискового пространства для томов NTFS.
DMACHANNEL - Управление каналами прямого доступа к памяти (DMA).
ENVIRONMENT - Управление настройками системной среды.
FSDIR - Управление оглавлением файловой системы.
GROUP - Управление учетными записями групп.
IDECONTROLLER - Управление IDE-контроллерами.
IRQ - Управление линиями запросов прерывания.
JOB - Доступ к заданиям, запланированным с помощью службы расписания.
LOADORDER - Управление системными службами, задающими зависимости при выполнении.
LOGICALDISK - Управление локальными запоминающими устройствами.
LOGON - Сеансы входа в систему.
MEMCACHE - Управление кэш-памятью.
MEMORYCHIP - Информация о микросхемах памяти.
MEMPHYSICAL - Управление физической памятью компьютерной системы.
NETCLIENT - Управление сетевыми клиентами.
NETLOGIN - Управление данными входа в систему конкретных пользователей.
NETPROTOCOL - Управление протоколами (и их сетевыми характеристиками).
NETUSE - Управление активными сетевыми соединениями.
NIC - Управление адаптерами сетевого интерфейса.
NICCONFIG - Управление сетевыми адаптерами.
NTDOMAIN - Управление доменами NT.
NTEVENT - Записи в журнале событий NT.
NTEVENTLOG - Управление файлом журнала событий NT.
ONBOARDDEVICE - Управление основными встроенными адаптерами на системной плате.
OS - Управление установленными операционными системами.
PAGEFILE - Управления файлом подкачки виртуальной памяти.
PAGEFILESET - Управление параметрами файла подкачки.
PARTITION - Управление областями с разделами физического диска.
PORT - Управление портами ввода-вывода.
PORTCONNECTOR - Управление физическими портами подключения.
PRINTER - Управление печатающими устройствами.
PRINTERCONFIG - Управление конфигурацией печатающих устройств.
PRINTJOB - Управление заданиями печати.
PROCESS - Управление процессами.
PRODUCT - Управление задачами пакета установки.
QFE - Исправление QFE (Quick Fix Engineering).
QUOTASETTING - Настройка данных о дисковых квотах для тома.
RDACCOUNT - Управление разрешениями для подключений к удаленному рабочему столу.
RDNIC - Управление подключением к удаленному рабочему столу на определенном сетевом адаптере.
RDPERMISSIONS - Разрешения для определенного подключения к удаленному рабочему столу.
RDTOGGLE - Удаленное включение и отключение прослушивателя для удаленного рабочего стола.
RECOVEROS - Данные, которые будут собраны из памяти при сбое операционной системы.
REGISTRY - Управление системным реестром компьютера.
SCSICONTROLLER - Управление SCSI-контроллерами.
SERVER - Управление сведениями о сервере.
SERVICE - Управление служебными приложениями.
SHADOWCOPY - Управление теневыми копиями.
SHADOWSTORAGE - Управление областью хранения теневых копий.
SHARE - Управление общими ресурсами.
SOFTWAREELEMENT - Управление установленными в системе компонентами программного продукта.
SOFTWAREFEATURE - Управление подмножествами программных продуктов SoftwareElement.
SOUNDDEV - Управление звуковым устройством.
STARTUP - Управление командами, запускающимися автоматически при входе пользователей в систему.
SYSACCOUNT - Управление системной учетной записью.
SYSDRIVER - Управление системным драйвером базовой службы.
SYSTEMENCLOSURE - Управление физическим системным корпусом.
SYSTEMSLOT - Управление точками физических соединений, включая порты, гнезда и периферийные устройства, а также специальными точками соединения.
TAPEDRIVE - Управление ленточными накопителями.
TEMPERATURE - Управление датчиком температуры (электронным термометром).
TIMEZONE - Управление данными о часовых поясах.
UPS - Управление источниками бесперебойного питания (ИБП).
USERACCOUNT - Управление учетными записями пользователей.
VOLTAGE - Управление данными датчика напряжения (электронного вольтметра).
VOLUME - Управление локальными томами хранилища.
VOLUMEQUOTASETTING - Сопоставление дисковых квот конкретному тому.
VOLUMEUSERQUOTA - Управление квотами для индивидуальных томов хранилищ.
WMISET - Управление параметрами работы службы WMI.
Для получения дополнительных сведений о конкретном псевдониме введите: < псевдоним > /?
CLASS - переходит к полной схеме WMI.
PATH - переходит к полным путям к объектам WMI.
CONTEXT - выводит состояние всех глобальных параметров.
QUIT/EXIT - выполняет выход из программы.
Для получения дополнительных сведений о командах CLASS/PATH/CONTEXT введите: (CLASS | PATH | CONTEXT) /?
Краткая справка по содержанию практически ничем не отличается от справки по умолчанию, за исключением того, что часть текста заменена на многоточие, например:
VOLUMEUSERQUOTA - Управление квотами для индивидуальных томов хран...
Содержимое полной справки, получаемой по команде wmic /?:full:
[глобальные параметры] < команда >
Имеются следующие глобальные параметры:
NAMESPACE - Путь к пространству имен, по которому будет работать псевдоним.
Пространства имен всегда относительны, т.е. если пространство не
начинается с \\, то оно отсчитывается относительно текущего.
Использование:
/NAMESPACE:< пространство_имен >
ROLE - Путь к роли, содержащей определения псевдонимов, предназначенных
для прикладного сеанса.
Использование:
/ROLE:< пространство имен >
ЗАМЕЧАНИЕ. Роли по сути являются пространствами имен и работать с ними следует
соответственно, т.е. правильно указывать относительные пути
(по умолчанию используется пространство имен \\root\cli).
NODE - задает серверы, с которыми будет работать псевдоним.
Использование:
/NODE:< список_идентификаторов_компьютеров >
ПРИМЕЧАНИЕ. < список_идентификаторов_компьютеров > ::= < @имя_файла | ид_комп > | < имя_файла | ид_комп > < ,список_идентификаторов_компьютеров >
IMPLEVEL - определяет уровень, на котором командная строка выполняет олицетворение.
По умолчанию используется Impersonate.
Использование:
/IMPLEVEL:< уровень_олицетворения >[/AUTHORITY:< тип_полномочий >]
Существуют следующие уровни олицетворения:
Impersonation Level
------------------
Anonymous
Identify
Impersonate
Delegate
Примечание. Параметр /AUTHORITY используется для указания типа полномочий.
AUTHLEVEL - задает уровень, на котором командная строка выполняет проверку подлинности.
По умолчанию используется Pktprivacy.
Использование:
/AUTHLEVEL:< уровень_проверки_подлинности >
Существуют следующие уровни проверки подлинности:
Authlevel
---------
Default
None
Connect
Call
Pkt
Pktintegrity
Pktprivacy
LOCALE - задает код языка, который должна использовать командная строка.
Использование:
/LOCALE:< код_языкового_стандарта >
ПРИМЕЧАНИЕ. Параметр LOCALE имеет вид MS_XXX.
Значение XXX равно 409 для английского языка и 419 для русского.
PRIVILEGES - включает или выключает все привилегии.
Использование:
/PRIVILEGES:< параметр >
ПРИМЕЧАНИЕ. Разрешенными значениями параметра являются ENABLE и DISABLE.
TRACE - Выбор режима копирования отладочных данных в поток stderr
в ходе обработки запросов.
Использование:
/TRACE:< параметр >
ПРИМЕЧАНИЕ. Разрешенными значениями параметра являются ON и OFF.
RECORD -- записывает все введенные команды и вывод WMIC в XML-файл.
Использование:
/RECORD:< путь к файлу >
INTERACTIVE - устанавливает или переустанавливает интерактивный режим.
Использование:
/INTERACTIVE:< параметр >
ПРИМЕЧАНИЕ. Разрешенными значениями параметра являются ON и OFF.
FAILFAST - Устанавливает или переустанавливает режим FailFast.
Использование:
/FAILFAST:< параметр >
ПРИМЕЧАНИЕ. Разрешенными значениями параметра являются ON и OFF.
OUTPUT - задает режим перенаправления выходных данных.
Использование:
/OUTPUT:< спецификация вывода >
ПРИМЕЧАНИЕ. < тип_вывода > ::= (STDOUT | CLIPBOARD | < имя_файла >)
STDOUT - выходные данные перенаправляются в поток STDOUT.
CLIPBOARD - выходные данные копируются в буфер обмена.
< имя_файла > - выходные данные записываются в указанный файл.
APPEND - задает режим перенаправления выходных данных.
Использование:
/APPEND:< спецификация вывода >
ПРИМЕЧАНИЕ. < тип_вывода > ::= (STDOUT | CLIPBOARD | < имя_файла >)
STDOUT - выходные данные перенаправляются в поток STDOUT.
CLIPBOARD - выходные данные копируются в буфер обмена.
< имя_файла > - выходные данные добавляются в указанный файл.
USER - задает имя пользователя для сеанса.
Использование:
/USER:< userid >
ПРИМЕЧАНИЕ. Имя указывается в формате < домен >\< пользователь >.
AGGREGATE - задает режим вывода результатов.
Использование:
/AGGREGATE:<параметр>.
Примечание. Разрешенными значениями параметра являются ON и OFF.
PASSWORD --задает пароль для входа в сеанс.
Использование:
/PASSWORD:< пароль >
AUTHORITY - задает < тип_полномочий > для подключения.
Использование:
/AUTHORITY:< тип_полномочий >
/? - выводит описание и синтаксис справочных команд.
Использование:
/?:[< тип справки >]
ПРИМЕЧАНИЕ. Разрешенными значениями для вида справки являются BRIEF (краткая) и FULL (полная).
ПРИМЕЧАНИЕ. Если значение параметра содержит специальные символы, например '-' или '/', его следует заключить в двойные кавычки.
Для текущей роли доступны следующие псевдонимы:
```
ALIAS - Доступ к псевдонимам, доступным на локальном компьютере
BASEBOARD - Управление системной платой.
BIOS - Управление BIOS.
BOOTCONFIG - Управление конфигурацией загрузки.
CDROM - Управление устройствами чтения компакт-дисков.
COMPUTERSYSTEM - Управление компьютером.
CPU - Управление ЦП.
CSPRODUCT - Сведения о системе из SMBIOS.
DATAFILE - Управление файлами данных.
DCOMAPP - Управление приложениями DCOM.
DESKTOP - Управление рабочим столом.
DESKTOPMONITOR - Управление системой мониторинга рабочего стола.
DEVICEMEMORYADDRESS - Управление адресами памяти устройства.
DISKDRIVE - Управление физическими дисками.
DISKQUOTA - Использование дискового пространства для томов NTFS.
DMACHANNEL - Управление каналами прямого доступа к памяти (DMA).
ENVIRONMENT - Управление настройками системной среды.
FSDIR - Управление оглавлением файловой системы.
GROUP - Управление учетными записями групп.
IDECONTROLLER - Управление IDE-контроллерами.
IRQ - Управление линиями запросов прерывания.
JOB - Доступ к заданиям, запланированным с помощью службы расписания.
LOADORDER - Управление системными службами, задающими зависимости при выполнении.
LOGICALDISK - Управление локальными запоминающими устройствами.
LOGON - Сеансы входа в систему.
MEMCACHE - Управление кэш-памятью.
MEMORYCHIP - Информация о микросхемах памяти.
MEMPHYSICAL - Управление физической памятью компьютерной системы.
NETCLIENT - Управление сетевыми клиентами.
NETLOGIN - Управление данными входа в систему конкретных пользователей.
NETPROTOCOL - Управление протоколами (и их сетевыми характеристиками).
NETUSE - Управление активными сетевыми соединениями.
NIC - Управление адаптерами сетевого интерфейса.
NICCONFIG - Управление сетевыми адаптерами.
NTDOMAIN - Управление доменами NT.
NTEVENT - Записи в журнале событий NT.
NTEVENTLOG - Управление файлом журнала событий NT.
ONBOARDDEVICE - Управление основными встроенными адаптерами на системной плате.
OS - Управление установленными операционными системами.
PAGEFILE - Управления файлом подкачки виртуальной памяти.
PAGEFILESET - Управление параметрами файла подкачки.
PARTITION - Управление областями с разделами физического диска.
PORT - Управление портами ввода-вывода.
PORTCONNECTOR - Управление физическими портами подключения.
PRINTER - Управление печатающими устройствами.
PRINTERCONFIG - Управление конфигурацией печатающих устройств.
PRINTJOB - Управление заданиями печати.
PROCESS - Управление процессами.
PRODUCT - Управление задачами пакета установки.
QFE - Исправление QFE Quick Fix Engineering.
QUOTASETTING - Настройка данных о дисковых квотах для тома.
RDACCOUNT - Управление разрешениями для подключений к удаленному рабочему столу.
RDNIC - Управление подключением к удаленному рабочему столу на определенном сетевом адаптере.
RDPERMISSIONS - Разрешения для определенного подключения к удаленному рабочему столу.
RDTOGGLE - Удаленное включение и отключение прослушивателя для удаленного рабочего стола.
RECOVEROS - Данные, которые будут собраны из памяти при сбое операционной системы.
REGISTRY - Управление системным реестром компьютера.
SCSICONTROLLER - Управление SCSI-контроллерами.
SERVER - Управление сведениями о сервере.
SERVICE - Управление служебными приложениями.
SHADOWCOPY - Управление теневыми копиями.
SHADOWSTORAGE - Управление областью хранения теневых копий.
SHARE - Управление общими ресурсами.
SOFTWAREELEMENT - Управление установленными в системе компонентами программного продукта.
SOFTWAREFEATURE - Управление подмножествами программных продуктов SoftwareElement.
SOUNDDEV - Управление звуковым устройством.
STARTUP - Управление командами, запускающимися автоматически при входе пользователей в систему.
SYSACCOUNT - Управление системной учетной записью.
SYSDRIVER - Управление системным драйвером базовой службы.
SYSTEMENCLOSURE - Управление физическим системным корпусом.
SYSTEMSLOT - Управление точками физических соединений, включая порты, гнезда и периферийные устройства, а также специальными точками соединения.
TAPEDRIVE - Управление ленточными накопителями.
TEMPERATURE - Управление датчиком температуры (электронным термометром).
TIMEZONE - Управление данными о часовых поясах.
UPS - Управление источниками бесперебойного питания (ИБП).
USERACCOUNT - Управление учетными записями пользователей.
VOLTAGE - Управление данными датчика напряжения (электронного вольтметра).
VOLUME - Управление локальными томами хранилища.
VOLUMEQUOTASETTING - Сопоставление дисковых квот конкретному тому.
VOLUMEUSERQUOTA - Управление квотами для индивидуальных томов хранилищ.
WMISET - Управление параметрами работы службы WMI.
```
Для получения дополнительных сведений о конкретном псевдониме введите: < псевдоним > /?
CLASS - переходит к полной схеме WMI.
PATH - переходит к полным путям к объектам WMI.
CONTEXT - выводит состояние всех глобальных параметров.
QUIT/EXIT - выполняет выход из программы.
Для получения дополнительных сведений о командах CLASS/PATH/CONTEXT введите: (CLASS | PATH | CONTEXT) /?
Используемые термины:
Класс (Class) – Класс – это определение объекта WMI. Например, класс процесс (process) определяет все характеристики любого процесса, но не ссылается на какой-либо конкретный процесс.
Объект (Object) – Иногда называется экземпляром класса (instance); Это конкретный набор данных WMI, определенное проявление класса.
Действие (Action) – Также называется методом (method). Действие – это доступная для выполнения функция класса или объекта WMI, некоторая операция, которую мы можете заставить выполнить класс или объект. Например, завершение процесса объектом Process с использованием метода delete, как это рассматривается ниже.
Свойства - параметры объекта.
Путь объекта - путь WMI для использования при обращении к экземпляру или классу.
Псевдоним - определение классов WMI, применяемое в WMIC. Псевдонимы упрощают обращение к классам и свойствам. Они также предоставляют действия, облегчающие работу с классами. Псевдонимы могут включать средства для работы с классами на удаленном компьютере, а также на нескольких компьютерах.
Утилита WMIC создана для удобства применения WMI непосредственно из командной строки, поэтому наиболее используемые классы WMI доступны под заранее определенными псевдонимами (ALIAS). Также, имеется возможность самостоятельного определения псевдонимов для тех классов, для которых это еще не сделано, или добавить новые псевдонимы для тех классов WMI, которые уже их имеют.
Утилита WMIC предоставляет три основных параметра для управления отображением данных:
/OUTPUT – вывод во внешний файл.
/FORMAT – позволяет форматировать информацию.
/TRANSLATE – настройка вывода специальных символов.
Кроме вывода в файл, возможен вывод в буфер обмена, если задан параметр /OUTPUT:CLIPBOARD. В качестве дополнительного средства протоколирования вместо параметра /OUTPUT можно использовать параметр /RECORD:< имя файла >. Для отмены протоколирования в интерактивном режиме используется параметр /RECORD:””
Форматы выводимых данных:
CSV – вывод данных в одну строку, с разделителем в виде запятой.
HFORM – информация отображается в виде списка, оформленного в HTML-формате. Отображается две колонки - название объекта и его значение.
HTABLE – формат вывода данных в виде HTML таблицы.
LIST – вывод свойства и его значения происходит в отдельной строке.
MOF – собственно, информация преобразуется в формат MOF.
RAWXML – вывод данных в XML файл.
TABLE – табличный формат вывода данных.
VALUE – аналогично значению LIST.
XML – вывода данных в XML файл, но с дополнительной информацией.
Параметр /TRANSLATE используется совместно с оператором GET в тех случаях, когда есть необходимость вывода символов, стандартно используемых для форматирования текста или разделения полей. В среде WMIC поддерживаются таблицы BasicXml и NoComma
Необходимо учитывать тот факт, что формат вывода данных и их вид будет зависеть от порядка следования параметров /TRANSLATE и /FORMAT:
- Если /TRANSLATE следует раньше чем /FORMAT, то сначала выполняется преобразование, а затем форматирование выводимых данных.
- Если /FORMAT идет раньше /TRANSLATE, то сначала выполняется форматирование, а затем – преобразование.
Примеры использования WMIC для работы с процессами.
Список псевдонимов, доступный на локальном компьютере можно получить с помощью команды:
wmic alias list brief
Для класса Win32_Process предусмотрен псевдоним Process. Соответственно, для получения подсказки можно воспользоваться командой:
wmic process /?
Отображаемая справка для Windows 10:
PROCESS - Управление процессами.
СОВЕТ. BNF при работе с псевдонимом.
(< псевдоним > [объект WMI] | < псевдоним > [< путь_WHERE >] | [< псевдоним >] < путь_WHERE >) [< предложение_команды >].
Использование:
PROCESS ASSOC [< указатель_формата >]
PROCESS CALL < имя_метода > [< список_фактических_параметров >]
PROCESS CREATE < список_значений >
PROCESS DELETE
PROCESS GET [< список_свойств >] [< параметры_GET >]
PROCESS LIST [< формат_LIST >] [< параметры_LIST >]
Для получения списка процессов используется параметр LIST. Для получения подсказки по форматам и параметрам LIST можно использовать команду:
wmic process list /?
Для получения списка процессов, отображаемого в кратком формате, используется команда:
wmic process list brief
Пример выводимой информации:
HandleCount Name Priority ProcessId ThreadCount WorkingSetSize
0 System Idle Process 0 0 4 4096
1067 System 8 4 124 10711040
49 smss.exe 11 344 2 1163264
232 csrss.exe 13 456 10 3756032
85 wininit.exe 13 524 2 4734976
198 winlogon.exe 13 580 3 9420800
235 services.exe 9 648 6 6590464
976 lsass.exe 9 656 7 14516224
547 svchost.exe 8 764 22 17735680
520 svchost.exe 8 824 9 9007104
.
.
Для вывода сведений о процессах в html-файл:
wmic /output:c:\proclist.htm process list /format:htable
Параметр /output задает имя файла с результатами, а параметр /format - формат выводимых данных.
wmic /output:proclist1.htm process list /format:hform - вывод результатов в HTML-файл в виде списка процессов с двумя колонками из названия свойства и его значения.
Для получения списка процессов на удаленной системе используется команда:
```
wmic /user:"Admin" /password:"admpass" /node:"Comp0" process list brief
```
В команде указываются имя пользователя и пароль для подключения к удаленной системе указанной параметром /node:. Если имя пользователя и пароль не заданы, то используется учетная запись текущего пользователя. Вместо имени компьютера можно задавать его IP-адрес:
```
wmic /node:”192.168.1.132” process list brief
```
Если имена компьютеров содержат специальные символы, то они должны заключаться в двойные кавычки:
```
wmic /node:”server-01” process list brief
```
Возможно указание списка имен или IP-адресов удаленных компьютеров:
```
wmic /node:”server-01”,”192.168.0.1” process list brief
```
Параметр /node может включать либо список компьютеров, либо имя текстового файла со списком. Файл должен содержать имена компьютеров, разделенные запятой, или набор строк с именами по одному в строке. При использовании списка удаленных компьютеров из файла, перед его именем в параметре /node должен присутствовать символ @:
```
wmic /node:”@C:\comps.txt” process list brief
```
При обработке списка компьютеров, взятого из текстового файла, какие-либо из перечисленных компьютеров могут быть выключены, поэтому, для сокращения времени выполнения команды, желательно использовать параметр /FAIFAST:ON, позволяющих исключить применение команды по отношению к узлам, не отвечающим на эхо-запрос (не отвечающим на ping):
```
wmic /failfast:on /node:”@C:\comps.txt” process list status
```
Для опроса состояния конкретного процесса, например браузера Chrome можно использовать команду:
```
wmic process where name=”chrome.exe” list status
```
Для принудительного завершения процесса используется команда:
```
wmic process where name=”chrome.exe” delete
```
Или
```
wmic process where name=”chrome.exe” call terminate
Для запуска программы на локальном компьютере:
wmic process call create "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" Для запуска программ на удаленных компьютерах используется параметр /node, рассмотренный выше и полные пути исполняемых файлов относительно удаленной системы.
```
#### Примеры использования WMIC для получения сведений о компонентах системы.
```bat
WMIC OS LIST BRIEF - отобразить краткие сведения о системе.
WMIC OS GET csname,bootdevice,localdatetime - отобразить имя компьютера, устройство загрузки, локальные дату и время.
WMIC OS GET osarchitecture /value - отобразить архитектуру системы (разрядность Windows)
WMIC QFE list brief - отобразить список обновлений Quick Fix Engineering (QFE) Windows.
wmic qfe list brief | find “311” - отобразить список обновлений Windows, в названии которых присутствует 311.
WMIC QFE get hotfixid,description,installedOn - отобразить список обновлений Windows, включающий название, краткое описание и дату установки.
WMIC DISKDRIVE get name,size,model - отобразить список физических дисков, содержащих название модели, имя в системе и размер.
WMIC PARTITION list brief - отобразить список всех разделов на всех дисках.
WMIC LOGICALDISK list brief - отобразить список логических дисков.
WMIC LOGICALDISK where drivetype=4 get FreeSpace,ProviderName - отобразить свободное место и путь для сетевых дисков (drivetype=4)
WMIC LOGICALDISK where drivetype!=4 get freespace, description - отобразить свободное место и описание для локальных дисков, включая CD/DVD и съемные устройства хранения данных.
WMIC LOGICALDISK where description='Local Fixed Disk' get deviceid, volumename - отобразить идентификаторы (буквы дисков) и метки томов для всех локальных логических дисков.
WMIC SERVICE list brief | more - отобразить список системных служб в постраничном режиме.
WMIC SERVICE where state=”running” GET caption,name,state /format:list - отобразить список, включающий отображаемые имена, короткие имена и статус работающих системных служб.
WMIC SERVICE where state=”Stopped” GET caption,name,state /format:list - отобразить список, включающий отображаемые имена, короткие имена и статус остановленных системных служб.
WMIC SERVICE where name='WinRM' CALL STARTSERVICE - запустить службу удаленного управления Windows (WinRM)
WMIC SERVICE where name='WinRM' GET name,state - проверить состояние службы WinRM.
WMIC PRINTER LIST STATUS - отобразить список принтеров и их состояние.
WMIC BASEBOARD list brief - отобразить общую информацию о материнской плате компьютера.
wmic bios get Manufacturer - отобразить сведения о производителе BIOS.
wmic bios get smbiosbiosversion - отобразить версию BIOS.
wmic bios get Description - отобразить описание производителя BIOS.
WMIC MEMORYCHIP list brief - отобразить сведения о модулях памяти компьютера.
WMIC MEMORYCHIP GET Devicelocator,Capacity - отобразить сведения о размещении и емкости модулей памяти DIMM.
```
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой "Поделиться"