...

Wmic что это за программа

WMIC: служебная программа командной строки WMI

WMIC является нерекомендуемой с Windows 10 версии 21H1, а также с версии 21H1 semi-annual channel выпуска Windows Server. Эта служебная программа заменена Windows PowerShell для WMI. См. раздел Глава 7. Работа с WMI. Эта устаревание применяется только к служебной программе WMIC. Сама инструментарий управления Windows (WMI) не влияет. См. также Windows 10 функции, которые мы больше не разрабатываем.

Программа командной строки WMI (WMIC) предоставляет интерфейс командной строки для инструментария управления Windows (WMI). WMIC совместим с существующими оболочками и служебными командами. Ниже приведены общие справочные материалы по WMIC. Дополнительные сведения и рекомендации по использованию WMIC, включая дополнительные сведения о псевдонимах, командах, параметрах и командах, см. в разделах Использование командной строки инструментария управления Windows и WMIC — управление WMI из командной строки.

Псевдоним

Псевдоним — это понятное переименование класса, свойства или метода, которое упрощает использование и чтение WMI. Вы можете определить, какие псевдонимы доступны для WMIC, с помощью /? команды . Вы также можете определить псевдонимы для определенного класса с помощью /? команды . Дополнительные сведения см. в разделе Псевдонимы WMIC.

Коммутатор

Параметр — это параметр WMIC, который можно задать глобально или необязательно. Список доступных коммутаторов см. в разделе Коммутаторы WMIC.

Команды

Чтобы использовать команды в WMIC, введите имя псевдонима, за которым следует глагол. Если псевдоним не поддерживает глагол, вы получите сообщение «Поставщик не поддерживает предпринятую операцию». Дополнительные сведения см. в разделе Команды WMIC.

Большинство псевдонимов поддерживают следующие команды:

ДОЦ

Возвращает результат запроса, Associators of () где — это путь к объектам, возвращаемым командами PATH или CLASS . Результаты представляют собой экземпляры, связанные с объектом . При ASSOC использовании с псевдонимом возвращаются классы с классом, лежащим в основе псевдонима. По умолчанию выходные данные возвращаются в формате HTML.

Команда ASSOC имеет следующие параметры:

Параметр Описание
/RESULTCLASS: Возвращаемые конечные точки, связанные с исходным объектом, должны принадлежать или быть производными от указанного класса.
/RESULTROLE: Возвращаемые конечные точки должны играть определенную роль в связи с исходным объектом.
/ASSOCCLASS: Возвращаемые конечные точки должны быть связаны с источником через указанный класс или один из его производных классов.

Например, os assoc .

CALL

Например, service where caption=»telnet» call startservice .

Чтобы определить методы, доступные для данного класса, используйте /? . Например, service where caption=»telnet» call /? выводит список доступных функций для класса службы.

CREATE

Создает новый экземпляр и задает значения свойств. CREATE нельзя использовать для создания нового класса.

Например, environment create name=»temp»; variablevalue=»new» .

DELETE

Удаляет текущий экземпляр или набор экземпляров. DELETE можно использовать для удаления класса.

Например, process where name=»calc.exe» delete .

GET

Извлекает определенные значения свойств.

GET имеет следующие параметры:

Параметр Описание
/VALUE Выходные данные форматируются с каждым значением, перечисленным в отдельной строке, и с именем свойства .
/ALL Выходные данные форматируются в виде таблицы.
/TRANSLATE: Преобразует выходные данные с помощью таблицы перевода с именем команды . Таблицы перевода BasicXml и NoComma включены в WMIC.
/EVERY: Повторяет команду каждые .
/FORMAT: Задает ключевое слово или имя XSL-файла для форматирования данных.

Например, process get name .

Список

Показывает данные. LIST — это глагол по умолчанию.

LIST имеет следующие наречия:

Наречие Описание
BRIEF Основной набор свойств
FULL Полный набор свойств. Это наречие по умолчанию для LIST
INSTANCE Только пути к экземплярам
STATUS Состояние объектов
SYSTEM Свойства системы

LIST имеет следующие параметры:

Параметр Описание
/TRANSLATE: Переведите выходные данные с помощью таблицы перевода с именем команды . Таблицы перевода BasicXml и NoComma включены в WMIC.
/EVERY: Повторяйте команду каждые .
/FORMAT: Задает ключевое слово или имя XSL-файла для форматирования данных.

Например, process list brief .

SET

Присваивает значения свойствам.

Пример: environment set name=»temp» , variablevalue=»new» .

Коммутаторы

Глобальные коммутаторы используются для задания значений по умолчанию для среды WMIC. Текущее значение условий, заданных этими параметрами, можно просмотреть, введя CONTEXT команду .

/ПРОСТРАНСТВА ИМЕН

Пространство имен, обычно используемое псевдонимом. Значение по умолчанию — root\cimv2 .

/ROLE

Пространство имен, в которое WMIC обычно ищет псевдонимы и другие сведения О WMIC.

/УЗЛА

Имена компьютеров, разделенные запятыми. Все команды синхронно выполняются на всех компьютерах, перечисленных в этом значении. Имена файлов должны иметь префикс &. Имена компьютеров в файле должны быть разделены запятыми или находиться в отдельных строках.

/IMPLEVEL

/AUTHLEVEL

Уровень проверки подлинности.

wmic

Note: “There is a Linux port of WMI command line tool”.

wmic is deprecated: “text encoding is a mess. Some programs output using the OEM codepage, some use the ANSI codepage, some use the current console input or output codepage, and some can do UTF-16, but usually only to a disk file (e.g. wmic.exe).”

Hence, instead of wmic memorychip get capacity , use:

Get-CimInstance -ClassName Win32_PhysicalMemory | Select-Object capacity 

The rest are examples of wmic use. For a full list of commands use wmic -? .

wmic bios

Try wmic bios list full or, e.g.,

$ wmic bios get serialnumber SerialNumber PF1JZKC1 

wmic cpu

Try wmic cpu list full or, e.g.,

$ wmic cpu get name Name Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz 

wmic computersystem

$ wmic computersystem get name Name L07A97UF 

wmic csproduct

Try wmic csproduct list full or, e.g.,

$ wmic csproduct get name Name 20M9CTO1WW 

wmic memorychip

Display memory information:

C:\Users\asoko>wmic memorychip get banklabel, devicelocator, manufacturer, partnumber, speed, serialnumber, capacity BankLabel Capacity DeviceLocator Manufacturer PartNumber SerialNumber Speed BANK 0 8589934592 ChannelA-DIMM0 Samsung M471A1K43CB1-CTD 410C6036 2667 BANK 1 8589934592 ChannelA-DIMM1 Micron 8ATF1G64HZ-2G6E1 212DCB8B 2667 BANK 2 8589934592 ChannelB-DIMM0 Samsung M471A1K43CB1-CTD 410C60C6 2667 BANK 3 8589934592 ChannelB-DIMM1 Micron 8ATF1G64HZ-2G6E1 1DFE21C7 2667 
wmic memorychip list full 

wmic process

wmic process get name,processid 

You can also use queries:

wmic process where ExecutablePath='C:\\windows\\system32\\notepad.exe' get ProcessId 
wmic process where "name='chrome.exe'" get ProcessID, ExecutablePath 

WMIC. Краткий обзор возможностей

Windows Management Instrumentation (WMI) — инструментарий управления Windows.

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

Предположим что мы не имеем понятия к каким свойствам класса BIOS мы можем обратиться. Что бы просмотреть список всех доступных свойств, средствами CMD, введите следующую команду:

wmic BIOS get /?

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

Алиасы

Хочу обратить внимание на то, что для удобства в консольной утилите WMIC, мы работаем не напрямую с классами WMI, а с их алиасами

# Все алиасы мы видим когда набираем wmic /? # Или отдельно выводим их на экран wmic alias list brief
Форматирование вывода

Так как по умолчанию wmic возвращает не форматированный ответ, то если не определить форматирование вручную, мы увидим хаотически разбросанные по окну консоли слова:

Весьма информативно, не правда ли?

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

wmic BIOS list brief

Параметр brief выводит список основных параметров.
Обычно не более 6 столбцов

Все типы форматов я смотрю такой командой:

wmic OS get /format /?

Можно использовать функцию /format, с любым доступным типом формата:

wmic BIOS get /format:list

Такой же вывод, как и в предыдущей команде, можно получить и следующим образом:

wmic BIOS list full
Запуск и завершение приложений
wmic process call create 'notepad.exe'
wmic process where name='notepad.exe' delete
Выполнение команды wmi на удаленных хостах
wmic /node:'Server' OS get Caption


Примеры WMI команд

Получить модель материнской платы

wmic baseboard get product,manufacturer,version,serialnumber

Узнать разрядность системы

wmic /Node:%ComputerName% Path Win32_Processor Get AddressWidth /format:list # Аналог команды для PoSh ( Get-WmiObject Win32_OperatingSystem ).OSArchitecture

Получить программы из автозагрузки

wmic startup list brief

Узнать имя активного пользователя

wmic /node:%ComputerName% path Win32_ComputerSystem get username

Просмотр списка пользователей компьютера

wmic useraccount list full

Просмотр списка принтеров удаленного компьютера

wmic /node:'Host0042' printer get name

Получить информацию по оперативной памяти

wmic memorychip get BankLabel, DeviceLocator, Capacity, Speed

При подготовке материала использовались источники:
https://learn.microsoft.com/ru-ru/windows/win32/wmisdk/wmic
https://asokolsky.github.io/windows/cli-wmic.html

WMIC. Краткий обзор возможностей

Оцените статью