Утилита WMIC долгое время использовалась в инструкциях для Windows: с её помощью можно получить сведения о процессоре, оперативной памяти, дисках, службах, процессах и других компонентах системы. Однако в актуальных сборках Windows 11 команда wmic может отсутствовать.
При попытке запуска пользователь видит одно из сообщений:
- "wmic не является внутренней или внешней командой, исполняемой программой или пакетным файлом";
- "имя wmic не распознано как имя командлета, функции, файла сценария или выполняемой программы".
Причина обычно связана с тем, что компонент WMIC не установлен или удалён из системы. В этой статье разберём, как установить WMIC в Windows 11 и почему для новых сценариев лучше использовать CIM-командлеты PowerShell.
Почему WMIC отсутствует в Windows 11
WMIC - консольный интерфейс для работы с WMI, инфраструктурой управления Windows. Через него можно обращаться к сведениям об оборудовании, операционной системе и программных компонентах.
При этом сама технология WMI продолжает использоваться в Windows 11, а устаревшим считается именно командный инструмент WMIC. В 2024 году компонент перестал включаться в систему по умолчанию, а с августа 2026 года Microsoft начала удалять его из актуальных версий Windows 11.
Поэтому ошибка при вводе команды wmic не означает, что WMI больше нет в системе. Она указывает на отсутствие исполняемого файла WMIC или соответствующего дополнительного компонента.
Установка WMIC через "Параметры"
Сначала стоит проверить, доступен ли компонент в списке дополнительных возможностей Windows 11.
- Нажмите Win + I, чтобы открыть "Параметры".
- Перейдите в раздел Система → Дополнительные компоненты.
- В блоке дополнительных функций нажмите Просмотреть компоненты.
- Воспользуйтесь поиском и найдите WMIC.
- Отметьте компонент и нажмите Далее или Установить.
Если пункт WMIC присутствует и установка завершается без ошибок, перезагрузка обычно не требуется. Откройте командную строку и проверьте работу утилиты:
wmic
Если появилось приглашение WMIC, компонент установлен.
Обратите внимание: в некоторых версиях Windows 11 пункт WMIC уже отсутствует. В таком случае можно попробовать установить компонент через DISM.
Установка WMIC с помощью DISM
Откройте Командную строку от имени администратора и выполните:
DISM /Online /Add-Capability /CapabilityName:WMIC~~~~
После завершения операции проверьте, запускается ли команда:
wmic
Иногда DISM сообщает об успешной установке, но WMIC по-прежнему не запускается. Такое поведение возможно в новых сборках Windows 11, где компонент уже удалён из доступных источников системы.
Установка WMIC из FOD ISO
Если установка через "Параметры" и обычную команду DISM не помогла, можно использовать ISO-образ Features on Demand - набор дополнительных компонентов Windows.
Для Windows 11 24H2 и 25H2 доступны официальные FOD-образы размером более 5 ГБ. Такой образ предназначен не для установки самой операционной системы, а для добавления дополнительных функций. Компоненты внутри него могут использоваться и для других версий Windows 11, однако совместимость зависит от конкретной сборки и установленных обновлений.
Установка компонента из образа
- Скачайте FOD ISO для соответствующей версии Windows 11.
- Подключите образ двойным щелчком. В проводнике он появится как отдельный виртуальный диск.
- Запустите командную строку от имени администратора.
- Выполните команду, заменив
E:на букву подключённого диска:
DISM /Online /Add-Capability /CapabilityName:WMIC~~~~ /Source:"E:\LanguagesAndOptionalFeatures" /LimitAccess
Параметры команды означают следующее:
/Online- работа с текущей установленной Windows;/Add-Capability- добавление дополнительной возможности;/Source- путь к файлам компонента;/LimitAccess- запрет обращения DISM к Центру обновления Windows.
После завершения установки снова проверьте:
wmic
Ручное восстановление файлов WMIC
Если компонент установлен, но команда всё ещё не выполняется, можно попробовать извлечь файлы WMIC из FOD-образа вручную. Этот способ стоит рассматривать как крайний вариант: он зависит от версии Windows и может перестать работать после обновлений.
В подключённом образе откройте файл:
LanguagesAndOptionalFeatures\Microsoft-Windows-WMIC-FoD-Package~31bf3856ad364e35~amd64~~.cab
Из него потребуются:
wmic.exe;- файлы с расширениями
.xsl; - файлы с расширениями
.xml.
Скопируйте их в каталог:
C:\Windows\System32\wbem\
Если система сообщает об отказе в доступе при копировании непосредственно из CAB-архива, сначала извлеките файлы в обычную папку пользователя, а затем перенесите их в C:\Windows\System32\wbem\ с подтверждением прав администратора.
После этого проверьте запуск:
wmic
WMIC является интерфейсом для обращения к WMI, поэтому при наличии совместимых файлов он может снова начать работать. Однако для новых скриптов лучше использовать PowerShell: это более поддерживаемый и удобный вариант.
Современная альтернатива WMIC - PowerShell
В Windows PowerShell есть CIM-командлеты, которые обращаются к тем же классам WMI/CIM, что и WMIC. Основной командлет для получения сведений - Get-CimInstance.
Например, старая команда WMIC для получения объёма оперативной памяти выглядит так:
wmic computersystem get totalphysicalmemory
Аналог в PowerShell:
Get-CimInstance Win32_ComputerSystem | Select-Object TotalPhysicalMemory
Название свойства TotalPhysicalMemory остаётся тем же. Меняется только синтаксис команды и способ обращения к классу: в PowerShell необходимо указывать полное имя класса Win32_ComputerSystem.
Результат можно сделать удобнее для чтения:
$memory = Get-CimInstance Win32_ComputerSystem
'{0:N0} ГБ' -f ($memory.TotalPhysicalMemory / 1GB)
Соответствие команд WMIC и PowerShell
| Задача | WMIC | PowerShell |
|---|---|---|
| Получить данные | get |
Get-CimInstance |
| Отфильтровать объекты | where |
Параметр -Filter |
| Вызвать действие | call |
Invoke-CimMethod |
| Изменить объект | set |
Set-CimInstance |
| Удалить объект | delete |
Remove-CimInstance |
| Создать объект | create |
New-CimInstance |
| Получить сведения о классе | /?, /mof |
Get-CimClass |
Пример фильтрации процессов
В WMIC можно было получить сведения о конкретном процессе с помощью where. В PowerShell аналогичная задача решается параметром -Filter:
Get-CimInstance Win32_Process -Filter "Name = 'notepad.exe'"
Для фильтрации уже полученных объектов также можно использовать Where-Object:
Get-CimInstance Win32_Process | Where-Object Name -eq 'notepad.exe'
Параметр -Filter обычно предпочтительнее при больших объёмах данных, поскольку фильтрация выполняется на стороне WMI до передачи результата в PowerShell.
Классы WMI/CIM для оборудования
В WMIC использовались короткие псевдонимы вроде cpu, bios или diskdrive. В PowerShell необходимо обращаться к полным именам CIM-классов.
| Компонент | WMIC | Класс WMI/CIM |
|---|---|---|
| Процессор | wmic cpu |
Win32_Processor |
| Материнская плата | wmic baseboard |
Win32_BaseBoard |
| BIOS | wmic bios |
Win32_BIOS |
| Общая информация о компьютере | wmic computersystem |
Win32_ComputerSystem |
| Модель и серийный номер ПК | wmic csproduct |
Win32_ComputerSystemProduct |
| Модули оперативной памяти | wmic memorychip |
Win32_PhysicalMemory |
| Физические диски | wmic diskdrive |
Win32_DiskDrive |
| Логические диски | wmic logicaldisk |
Win32_LogicalDisk |
| Сетевые адаптеры | wmic nic |
Win32_NetworkAdapter |
Примеры команд PowerShell
Информация о процессоре:
Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed
Сведения о физических дисках:
Get-CimInstance Win32_DiskDrive | Select-Object Model, InterfaceType, Size
Информация об оперативной памяти:
Get-CimInstance Win32_PhysicalMemory | Select-Object Manufacturer, Capacity, Speed
Информация о BIOS:
Get-CimInstance Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, ReleaseDate
Классы WMI/CIM для Windows и программных компонентов
| Задача | WMIC | Класс WMI/CIM |
|---|---|---|
| Версия Windows и время работы | `wmic os` | Win32_OperatingSystem |
| Запущенные процессы | wmic process |
Win32_Process |
| Службы Windows | wmic service |
`Win32_Service` |
| Элементы автозагрузки | wmic startup |
Win32_StartupCommand |
| Общие сетевые папки | wmic share |
Win32_Share |
| Учётные записи пользователей | wmic useraccount |
Win32_UserAccount |
Например, получить версию Windows и время последней загрузки можно так:
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, LastBootUpTime
Список запущенных служб:
Get-CimInstance Win32_Service -Filter "State = 'Running'" | Select-Object Name, DisplayName, StartMode
Список процессов с использованием памяти:
Get-CimInstance Win32_Process | Select-Object Name, ProcessId, WorkingSetSize
Как найти нужный CIM-класс
Если вы не знаете, какой класс соответствует старой команде WMIC, воспользуйтесь поиском по классам:
Get-CimClass -ClassName Win32_*
Например, для поиска классов, связанных с сетевыми адаптерами:
Get-CimClass -ClassName *Network*
Получить список свойств конкретного класса можно так:
Get-CimClass Win32_ComputerSystem
А сведения о доступных экземплярах класса - с помощью:
Get-CimInstance Win32_ComputerSystem | Get-Member
Команда Get-Member покажет свойства и методы полученного объекта. Это особенно полезно при переносе старых WMIC-скриптов в PowerShell.
Что выбрать: восстановить WMIC или перейти на PowerShell
Установка WMIC оправдана, если:
- нужно быстро выполнить старую инструкцию;
- есть готовый BAT-файл, который нельзя оперативно переписать;
- требуется временная совместимость со старым программным обеспечением.
PowerShell лучше использовать, если:
- вы создаёте новый скрипт;
- команда будет применяться регулярно;
- требуется фильтрация, сортировка или экспорт данных`
- скрипт должен работать в актуальных версиях Windows 11;
- нужно вызывать методы WMI и обрабатывать результаты как объекты.
Для экспорта результатов, например, можно использовать:
Get-CimInstance Win32_OperatingSystem | Export-Csv "$env:USERPROFILE\Desktop\windows-info.csv" -NoTypeInformation
В отличие от текстового вывода WMIC, PowerShell сохраняет данные в виде объектов. Это упрощает дальнейшую обработку, передачу результатов в CSV или использование информации в автоматизированных сценариях.
WMIC может отсутствовать в Windows 11, поскольку Microsoft постепенно выводит этот устаревший компонент из системы. Сначала стоит проверить его наличие в разделе дополнительных компонентов, затем попробовать установку через DISM. Для некоторых сборок может потребоваться FOD ISO, а ручное копирование файлов следует рассматривать только как временное решение.
Для постоянной работы лучше перейти на CIM-командлеты PowerShell. Они используют ту же инфраструктуру WMI, но предоставляют более современный синтаксис, полноценную работу с объектами и удобные возможности автоматизации.
