Windows Management Instrumentation

Windows Management Instrumentation (WMI) is the infrastructure for management data and operations on Windows-based operating systems. Although you can write WMI scripts or applications to automate administrative tasks on remote computers, WMI also supplies management data to other parts of the operating system and products. For example, System Center Operations Manager or Windows Remote Management.

Note

This documentation is for developers and IT administrators only. If you're an end-user who has experienced a WMI error message, search for the error code in Microsoft Support. For more information about troubleshooting problems with WMI scripts and the WMI service, see WMI isn't working.

WMI is fully supported by Microsoft. The latest version of administrative scripting and control is available through the Windows Management Infrastructure (MI). MI is fully compatible with previous versions of WMI, and provides a host of features and benefits that make designing and developing providers and clients easy. For more information, see Windows Management Infrastructure.

Where is WMI applicable?

Although system administrators can use WMI in all Windows-based applications, it's most useful in enterprise applications and administrative scripts. For more information about WMI, see Further information for WMI.

Developer audience

WMI is designed for programmers who create C, C++, and Visual Basic applications, or use a scripting language that has a Windows engine and handles Microsoft ActiveX objects. Although some familiarity with COM programming is helpful, it's not required. C++ developers can find examples for getting started at Create a WMI application using C++.

To develop managed-code providers or applications in C# or Visual Basic using the .NET Framework, see Use WMI with the .NET Framework.

Many administrators and IT professionals access WMI through Windows PowerShell. The Get-WMI cmdlet for PowerShell enables you to retrieve information for a local or remote WMI repository. As such, several WMI articles, especially Create WMI clients, contain PowerShell examples. For more information about using PowerShell, see PowerShell.

Run-time requirements

For more information about which operating system is required to use a specific API element or WMI class, see the Requirements section of each article in the WMI documentation.

If an expected component appears to be missing, see Operating system availability of WMI components.

To create scripts or applications for WMI, developers don't need to download or install a specific software development kit (SDK). However, certain WMI administrative tools might be useful to use. For more information, see Downloads.

In this section

Article Description
About WMI General information about WMI.
Using WMI Information about how to develop applications to use WMI, which includes information about tools.
WMI reference Documentation about the WMI classes, WMI C++ classes, WMI COM API, scripting API, and other WMI reference material.
WMI glossary A list of WMI terms. Many of these terms are familiar to developers, but have new or altered definitions in the WMI environment.

Additional resources

Training

Learning path

Query management information by using Common Information Model and Windows Management Instrumentation - Training

This learning path covers Windows Management Instrumentation (WMI) and Common Information Model (CIM). These technologies help to access information about a computer. Additionally, both technologies provide local and remote access to management information from the operating system, computer hardware, and installed software.

Certification

Microsoft 365 Certified: Endpoint Administrator Associate - Certifications

Plan and execute an endpoint deployment strategy, using essential elements of modern management, co-management approaches, and Microsoft Intune integration.