All blog posts

6 min read

WMIC disappears from Windows 11: replace it with PowerShell

Contents
  1. What is WMIC and what changes?
  2. What do you need?
  3. Find where WMIC is still used
  4. Replace WMIC commands with PowerShell
  5. Temporary workaround
  6. User experience
  7. Wrapping up

An inventory script, a batch file in an installation package or a check in your monitoring tool: in many places there is still a line such as wmic path win32_process get name. Those commands worked on every Windows PC for years. Since the updates of August and September 2026, the wmic program is gone from Windows 11, version 24H2 and later (24H2, 25H2, 26H1 and 26H2), and you can no longer add it back as a Feature on Demand; only a temporary workaround from Microsoft remains.

In this blog post you read what exactly has changed, how to find scripts that still use WMIC, and how to replace the commands with PowerShell.

Updated in October 2026: this blog post described the optional preview update of August 2026 for version 24H2 and 25H2. Since then, WMIC has also been removed from version 26H1, Microsoft declared the removal complete on 29 September 2026, and version 26H2 has been released. The timeline, requirements and closing have been adjusted accordingly.

What is WMIC and what changes?

The Windows Management Instrumentation Command-line (WMIC) is a command-line program with which you query and change data from Windows Management Instrumentation (WMI), for example about processes, disks or the BIOS. Microsoft marked WMIC as deprecated years ago and names Windows PowerShell as its successor.

The removal went in steps. According to the support article on the removal of WMIC, it looked like this:

Year What happened
2022 WMIC becomes a Feature on Demand (FoD) in Windows 11, version 22H2, installed by default
2024 In Windows 11, version 23H2 and 24H2 the FoD is off by default, but you can still add it
2025 An upgrade to Windows 11, version 25H2 removes WMIC; adding it back as an FoD is still possible
2026 WMIC disappears from Windows 11, version 24H2 and later, and is no longer an FoD: in August from 24H2 and 25H2, in September from 26H1

The 2026 step started with the optional preview update of 27 August 2026, KB5120998 (OS builds 26100.9278 and 26200.9278) for Windows 11, version 24H2 and 25H2. The same day, Microsoft posted a message in the Windows message center calling on organizations to move applications, scripts, deployment tools and monitoring systems that use WMIC to PowerShell or the supported WMI interfaces. That message refers to Windows 11, version 24H2 and later.

Windows 11, version 26H1, the version for new devices from early 2026, followed with the preview update of 22 September 2026, KB5124006 (OS build 28000.3086). On 29 September 2026 Microsoft updated the support article: the removal is complete.

Windows 11, version 26H2 has been available since 29 September 2026 as an enablement package for version 24H2 and 25H2. What’s new in Windows 11, version 26H2 lists WMIC among the features removed in 26H2: gone from version 24H2 and later, and no longer an FoD.

Important to know: only the wmic program disappears. WMI itself remains a supported part of Windows. So everything you queried through WMIC, you can still query, just with a different tool.

💡 The article describes the removal only for the supported versions of Windows 11. It does not say that WMIC is removed from Windows 10 or Windows Server.

What do you need?

  • Access to the scripts, batch files and installation packages your organization uses.
  • Windows PowerShell or PowerShell 7 on the devices where the replacement commands run. Get-CimInstance works only on Windows.
  • A test device with Windows 11, version 24H2, 25H2, 26H1 or 26H2 and the security update of 13 October 2026 (KB5127648 for 24H2, 25H2 and 26H2, KB5127646 for 26H1). Version 24H2 Home and Pro got its last update that day.

Find where WMIC is still used

In the message center, Microsoft asks you to track down and move applications, scripts, deployment tools and monitoring systems that use WMIC; it does not provide a tool for that. For text files, Select-String helps.

  1. Collect the folders where your scripts and packages are, for example a share with installation sources.
  2. Search those folders with the command below. With -Recurse -File, Get-ChildItem collects all files in the folder and its subfolders, and Select-String searches them for the word wmic.
# Search scripts in a folder tree for WMIC calls
Get-ChildItem -LiteralPath 'D:\Scripts' -Recurse -File |
    Select-String -Pattern 'wmic' -SimpleMatch
  1. Review the output. For each match you see the file name, the line number and the line itself.
  2. Do not forget the places that are not a separate file, such as command lines in a software package or a check in your monitoring tool.

By default, Select-String searches without distinguishing between uppercase and lowercase, so you find both WMIC and wmic.

Replace WMIC commands with PowerShell

Microsoft names Get-CimInstance, Invoke-CimMethod and Get-WmiObject as replacements. The support article has this example: the WMIC command wmic path win32_process get Name becomes, in PowerShell:

# List the names of all running processes
Get-CimInstance Win32_Process | Select-Object Name

Microsoft gives only this one example. The pattern behind it is an interpretation, not Microsoft’s: where WMIC queries a WMI class with path and chooses properties with get, in PowerShell you pass the class to Get-CimInstance and choose the properties with Select-Object.

Microsoft Learn has a page with examples for commonly requested computer data. A few of them:

# BIOS information
Get-CimInstance -ClassName Win32_BIOS

# Manufacturer and model of the computer
Get-CimInstance -ClassName Win32_ComputerSystem

# Installed hotfixes
Get-CimInstance -ClassName Win32_QuickFixEngineering

# Fixed disks only (DriveType 3)
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"

With -Filter you pass a condition in the query language WQL or CQL, without the word WHERE.

From a batch file

Does a .cmd or .bat file have to stay, for example because an installation package calls it? Then call PowerShell from the command prompt, as the support article shows with powershell -c "<command>":

rem Called from cmd.exe: run one PowerShell command and return
powershell -c "Get-CimInstance -ClassName Win32_BIOS"

From your own application

Developers of their own tools use the WMI COM API or the System.Management namespace in .NET. That is outside the scope of this post; the support article refers to it.

Temporary workaround

Is something critical running that you cannot adapt in time? The support article describes a temporary way to restore WMIC with a separately downloaded package. Microsoft explicitly adds that this is not a safe long-term solution and asks you to move away from it as soon as possible. Use it only to buy time, and plan the replacement right away.

User experience

For the user nothing changes in Windows itself: WMI keeps working, and PowerShell scripts that use Get-CimInstance simply keep working. What stops is everything that calls the wmic program. A script or package that relies on it no longer gets the requested result.

Wrapping up

WMIC had been deprecated for years and, since the preview updates of August and September 2026, is gone from Windows 11, version 24H2 and later. Search your scripts and packages for wmic, convert the commands to Get-CimInstance and test them on an updated device.

📚 Read the full support article on the removal of WMIC for the timeline and the frequently asked questions.

Sources

  1. Windows message center, accessed on 14 October 2026
  2. Windows Management Instrumentation Command-line (WMIC) removal from Windows, accessed on 14 October 2026
  3. August 27, 2026—KB5120998 (OS Builds 26200.9278 and 26100.9278) Preview, accessed on 14 October 2026
  4. September 22, 2026—KB5124006 (OS Build 28000.3086) Preview, accessed on 14 October 2026
  5. October 13, 2026—KB5127648 (OS Builds 26300.9711, 26200.9711 and 26100.9711), accessed on 14 October 2026
  6. October 13, 2026—KB5127646 (OS Build 28000.3231), accessed on 14 October 2026
  7. What's new in Windows 11, version 26H2 for IT pros, accessed on 14 October 2026
  8. Windows 11 - release information, accessed on 14 October 2026
  9. WMI command-line (WMIC) utility, accessed on 14 October 2026
  10. Get-CimInstance (CimCmdlets), accessed on 14 October 2026
  11. Collecting information about computers, accessed on 14 October 2026
  12. Get-ChildItem (Microsoft.PowerShell.Management), accessed on 14 October 2026
  13. Select-String (Microsoft.PowerShell.Utility), accessed on 14 October 2026

All blog posts