Утилита 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.

  1. Нажмите Win + I, чтобы открыть "Параметры".
  2. Перейдите в раздел Система → Дополнительные компоненты.
  3. В блоке дополнительных функций нажмите Просмотреть компоненты.
  4. Воспользуйтесь поиском и найдите WMIC.
  5. Отметьте компонент и нажмите Далее или Установить.

Если пункт 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, однако совместимость зависит от конкретной сборки и установленных обновлений.

Установка компонента из образа

  1. Скачайте FOD ISO для соответствующей версии Windows 11.
  2. Подключите образ двойным щелчком. В проводнике он появится как отдельный виртуальный диск.
  3. Запустите командную строку от имени администратора.
  4. Выполните команду, заменив 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:

powershell
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, но предоставляют более современный синтаксис, полноценную работу с объектами и удобные возможности автоматизации.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *