If you see the “WMIC is not recognized as an internal or external command” error in Windows, it usually means that the WMIC command-line tool is no longer installed or available on your system.
This can happen on newer versions of Windows because Microsoft has deprecated and removed WMIC from some Windows installations. Older tutorials, scripts, and commands may still tell you to use WMIC even though the tool isn’t available.
Fortunately, you don’t necessarily need to reinstall WMIC. In many cases, you can replace the command with PowerShell, CIM, or other built-in Windows tools.
This guide explains why WMIC isn’t recognised and how to fix or replace it.
What Does “WMIC Is Not Recognized” Mean?

The full error may look similar to:
'wmic' is not recognized as an internal or external command, operable program or batch file.
Windows displays this message when Command Prompt cannot find the wmic.exe executable.
There are several possible reasons:
- WMIC has been removed from your Windows installation.
- WMIC is disabled or unavailable as an optional feature.
- The WMIC executable is missing.
- The Windows PATH environment variable doesn’t include the required location.
- You’re following an older Windows tutorial.
- A script depends on WMIC even though your version of Windows no longer provides it.
On modern Windows systems, the most likely explanation is that WMIC has been deprecated or removed, rather than a problem with the Command Prompt itself.
Why Was WMIC Removed From Windows?
WMIC stands for Windows Management Instrumentation Command-line.
It was traditionally used to query information about Windows hardware, software, processes, disks, operating-system details, and other system components.
For example, older guides commonly used commands such as:
wmic cpu get nameor:
wmic os get captionMicrosoft deprecated WMIC and has been moving users toward newer management technologies, particularly PowerShell and CIM.
As a result, a command that worked on an older Windows installation may no longer work on a newer one. This is why simply copying an old WMIC command into Command Prompt can produce the “not recognised” error.
Check Whether WMIC Is Installed
Before replacing WMIC, you can check whether Windows can locate it.
Open Command Prompt and enter:
where wmicIf Windows returns a path to wmic.exe, the executable may still be available.
If you receive a message indicating that no files match the search, WMIC isn’t available through your current PATH.
You can also try:
wmicIf the same “not recognized” message appears, Windows cannot find the WMIC command.
Fix WMIC is not Recognized as an internal or external command in Windows
1. Use PowerShell Instead of WMIC
For most users, the best solution is to replace the WMIC command with an equivalent PowerShell command. PowerShell provides modern commands for retrieving Windows system information.
For example, an older WMIC command such as:
wmic cpu get namecan often be replaced with:
Get-CimInstance Win32_Processor | Select-Object NameSimilarly, instead of:
wmic os get captionyou can use:
Get-CimInstance Win32_OperatingSystem | Select-Object CaptionThis approach is preferable when you’re creating new scripts or troubleshooting on current Windows versions.
Common WMIC Commands and Their Replacements
If you’re seeing the error because an older command no longer works, you can usually find a modern alternative.
Check CPU Information
Older WMIC command:
wmic cpu get namePowerShell:
Get-CimInstance Win32_Processor | Select-Object NameCheck Windows Version
Older WMIC command:
wmic os get caption,versionPowerShell:
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, VersionCheck Computer Model
Older WMIC command:
wmic computersystem get modelPowerShell:
Get-CimInstance Win32_ComputerSystem | Select-Object ModelCheck Serial Number
Older WMIC command:
wmic bios get serialnumberPowerShell:
Get-CimInstance Win32_BIOS | Select-Object SerialNumberCheck RAM
Older WMIC command:
wmic computersystem get totalphysicalmemoryPowerShell:
Get-CimInstance Win32_ComputerSystem | Select-Object TotalPhysicalMemoryList Running Processes
Older WMIC command:
wmic process list briefPowerShell:
Get-ProcessIf you’re maintaining an old batch file or script, replacing WMIC commands with PowerShell or CIM commands is generally a better long-term solution than depending on a deprecated utility.
2. Try PowerShell CIM Commands
CIM stands for Common Information Model. Windows provides CIM cmdlets through PowerShell, including:
Get-CimInstanceThis command can retrieve information from Windows Management Instrumentation providers.
For example:
Get-CimInstance Win32_OperatingSystemreturns information about the installed operating system.
You can narrow the output using:
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumberThis is especially useful when an old tutorial tells you to use WMIC to retrieve system information.
3. Check the Windows PATH Variable
Sometimes a command exists on the computer, but Windows cannot find it because its directory isn’t included in the PATH environment variable.
You can check your PATH from the Command Prompt with:
echo %PATH%You can also test:
where.exe wmicHowever, don’t immediately modify the PATH just because WMIC isn’t recognized.
If wmic.exe has actually been removed from your Windows installation; changing PATH will not recreate it.
PATH changes are mainly useful when the executable exists, but Windows cannot locate it.
3. Install WMIC Using Command Prompt or DISM
If you’re working with legacy batch scripts and see “WMIC is not recognized as an internal or external command, operable program or batch file,” you may be able to restore WMIC directly from an elevated Command Prompt.
Windows includes the Deployment Image Servicing and Management (DISM) tool, which can install optional Windows capabilities from the command line.

Install WMIC With DISM
- Open the Start Menu and type cmd.
- Right-click Command Prompt.
- Select Run as administrator.
- Enter the following command:
DISM /Online /Add-Capability /CapabilityName:WMIC~~~~- Press Enter.
- Wait while DISM checks and installs the capability.
- When the operation completes, try running your WMIC command again.
For example:
wmic cpu get nameIf WMIC was successfully installed, the command should now run normally.
Using DISM can be a convenient way to install the WMIC capability without navigating through the Windows Settings interface.
If the DISM Command Fails
If DISM reports that the capability cannot be found or installed, the availability of WMIC may depend on your specific Windows version, build, edition, configuration, or servicing source.
In that situation, check the next step of Windows Optional Features or use a modern PowerShell/CIM replacement for the original WMIC command.
Tip: Run DISM from an Administrator Command Prompt. A standard Command Prompt may not have the permissions required to add Windows capabilities.
4. Check Windows Optional Features
Depending on your Windows version and configuration, WMIC may be available as an optional Windows component.
Open:
Settings → System → Optional features
Look for a WMIC-related feature if your version of Windows provides one.
You can also search Windows for Optional features and review the available components.
If WMIC is available in your installation, installing the relevant optional feature may restore the command. However, the exact availability of WMIC as an optional component depends on your Windows version and build.
If you don’t see it, don’t assume something is wrong with your PC. Microsoft has been phasing out the legacy tool.
5. Use Windows Terminal or PowerShell
If an old tutorial specifically tells you to run WMIC, you may be able to perform the same task in PowerShell instead.
Open Windows Terminal or PowerShell by:
- Pressing Windows + X.
- Select Terminal or PowerShell, depending on your Windows configuration.
- Enter the appropriate PowerShell command.
For example:
Get-CimInstance Win32_ComputerSystemYou can then select the exact property you need.
For example:
Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, ModelThis gives you the computer manufacturer and model without using WMIC.
6. Update an Old Batch File or Script
If the error appears when running a .bat or .cmd file, the problem may not be your computer. The script itself may contain an outdated WMIC command. For example, a batch file might contain:
wmic os get CaptionOn a newer Windows system, this can fail.
Instead, you may need to call PowerShell from the batch file:
powershell -Command "Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption"This allows the batch file to use modern Windows management tools.
If you’re maintaining a large script, don’t replace commands blindly. Check what information the original WMIC command was retrieving and choose the appropriate PowerShell or CIM equivalent.
Frequently Asked Questions
Why does Windows say WMIC is not recognized?
Windows shows this error when it cannot find the wmic.exe command. On newer Windows installations, WMIC may have been deprecated or removed, so the error can be expected.
How do I fix WMIC not recognized?
First, check whether WMIC is installed using where wmic. If it isn’t available, use a PowerShell/CIM equivalent or check Windows Optional Features if your version provides WMIC as an optional component.
What replaced WMIC in Windows?
There isn’t one single replacement command for every WMIC operation. PowerShell and CIM cmdlets such as Get-CimInstance are the preferred modern approach for many tasks previously handled by WMIC.
Can I install WMIC again?
On some Windows versions, WMIC may be available as an optional feature. On systems where it has been fully removed or isn’t offered, you should use PowerShell/CIM or update the software that depends on WMIC.
Is WMIC deprecated?
Yes. WMIC is a legacy Windows management command-line tool that Microsoft has deprecated in favor of newer management approaches such as PowerShell and CIM.
Can I use PowerShell instead of WMIC?
Yes. Many common WMIC tasks can be performed with PowerShell, especially using Get-CimInstance and related CIM cmdlets.
The “WMIC is not recognized as an internal or external command” error is increasingly common on modern Windows systems because WMIC is a deprecated legacy tool.
If you’re following an older tutorial, don’t assume that your computer is broken. The WMIC command may simply no longer be available on your version of Windows.
For most situations, the best solution is to replace WMIC with PowerShell and CIM commands. Tools such as Get-CimInstance, Get-ProcessSystem Information and Task Manager can handle many of the jobs that previously required WMIC.
If an older application or script specifically requires WMIC, check for an updated version first. If your Windows installation offers WMIC as an optional component, you can also check Optional Features.

