Key Points
- WMIC has been deprecated in Windows Server since 2016, offered as a Feature on Demand in Windows 11 22H2, but will be uninstalled by default starting with Windows 11 24H2.
- The exact date WMIC will be deprecated is still unknown as Microsoft has not commented.
- You can use WMI and CIM tools in PowerShell as an alternative for WMIC.
The Windows Management Instrumentation Command-line (WMIC) utility is an excellent tool for managing different Windows components from the Command Prompt. It allows you quick and specific configurations, along with querying and monitoring capabilities. If you are a system administrator, you must have used the “WMIC” command at one time or another.
However, the WMIC utility is being deprecated for good. Microsoft already announced that the WMIC UI has been deprecated in Windows 10 version 21H1 and its following releases. At the moment, it is a “Feature on Demand” that is preinstalled in Windows 11 v23H2 and 22H2. However, Microsoft says that it will not be available by default in Windows 11 24H2.
Additionally, Microsoft has also announced that WMIC has already been disabled by default in the Windows Insider Preview releases starting 29th January 2024. But what about those whose application and work depend on the WMIC utility? For those, Microsoft already has a plan in place, which is Windows PowerShell.
In this guide, we discuss what WMIC does and how you can use PowerShell-specific utilities to perform the same tasks. But before that, let us see why Microsoft is moving to deprecate WMIC.
Table of Contents
What is WMIC
WMIC is a command-line utility that provides access to Windows Management Instrumentation – a framework for data management and operations on a Windows OS.
WMIC offers a range of Windows administration operations. WMI scripts and applications can be used to automate administrative activities on remote machines using Windows Remote Management (WinRM) and System Centre Operations Manager (SCCM).
WMIC can also obtain information or perform a query, like getting system-specific information. In the following example, the cmdlet will return the information about the computer:
wmic computersystem get model,name,manufacturer,systemtype
Why is Microsoft deprecating WMIC?
Although WMIC is a great utility to have, Microsoft is removing it and working on an alternative – the WMI and CIM tools in PowerShell. This is the primary reason for Microsoft to phase out the WMIC utility, as it already has a replacement on Windows OS which outperforms it as well.
In recent years, Microsoft has made significant investments and improvements to PowerShell. There is now a more effective approach to query WMI with the new PowerShell commands than WMIC offers.
By default, PowerShell comes with cmdlets for communicating with other components, like Windows Management Instrumentation. Administrators don’t need to install third-party software to perform the same functions as WMIC, even if it is deprecated completely.
That said, WMIC also poses a security threat. It can be used maliciously and gain administrative privileges to launch a malicious payload against a remote device on the network and save the results to a temp file if needed. Here is an example of how a WMIC cmdlet can be used maliciously:
cmd.exe /c “wmic /node:”192.168.100.123″ /user:”itt-admin” /password:”AbCd1234″ PROCESS CALL CREATE “cmd.exe /c C:MaliciousCode.bat” >> C:WINDOWSTEMPcb66E3.tmp
If the proper logging alerts are not configured, such cyber attacks can go unrecognized.
To combat such behaviors by the WMIC utility, Microsoft has decided to deprecate the tool. It has already been deprecated in the Windows Server operating system in 2016 and Windows 10 v21H1. In Windows 11 22H2 till now, it has been offered as a Feature on Demand, but installed by default. Beginning 29th January 2024, it will be offered as an FoD, but not be installed by default.
That said, the exact date for absolute deprecation for WMIC is still not announced. Since it has already been disabled for the Insiders, WMIC will likely be deprecated with the release of Windows 11 24H2 later this year.
PowerShell cmdlets WMI and CIM replace WMIC
Windows Management Instrumentation (WMI) and Common Information Model (CIM) cmdlets come preinstalled in Windows with PowerShell. These cmdlets allow you to work with the Windows Management Instrumentation, therefore allowing you to perform the same tasks as WMIC.
One of the management interfaces that has access to computer data is Windows Management Interface (WMI). WMI is based on the “Common Information Model” standard, which specifies how managed data should be presented in a readable manner.
The “Common Information Model” is an open-source standard for obtaining and presenting computer-related data. Although it is an industry-standard that has been in place for a while, it does not offer a way to access data on a distant machine.
Microsoft’s equivalent of CIM is WMI. Microsoft dubbed the CIM management framework the Windows Management Interface and included DCOM and RPC in addition to a few other minor adjustments. Microsoft’s solution for using CIM on remote systems connected to a network was WMI. However, WMI is not very firewall-friendly when querying remote devices.
Both of these PowerShell tools provide several commands that allow you to interact with WMI. To get information on the available commands for CIM, you can use the following cmdlet in PowerShell:
Get-Command -Module CimCmdlets
To learn how the WMI and CIM commands are used in PowerShell, refer to this guide post by Microsoft.
Closing words
We have known that WMIC has been deprecated since 2016. However, Microsoft has never commented on the exact date it will happen. It seems like that time is nearing. Therefore, it is advised that you shift to its alternatives and start using the PowerShell WMI and CIM tools for your daily tasks and programs.