Katana VentraIP

Windows Management Instrumentation

Windows Management Instrumentation (WMI) consists of a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification. WMI is Microsoft's implementation of the Web-Based Enterprise Management (WBEM) and Common Information Model (CIM) standards from the Distributed Management Task Force (DMTF).

WMI allows scripting languages (such as VBScript or Windows' PowerShell) to manage Microsoft Windows personal computers and servers, both locally and remotely. WMI comes preinstalled in Windows 2000 through Windows 11 OSes. It is available as a download for Windows NT and[1] Windows 95 to Windows 98.[2]


Microsoft also provides a command-line interface to WMI called Windows Management Instrumentation Command-line (WMIC).[3] However, WMIC is deprecated starting with Windows 10, version 21H1, Windows 11 and Windows Server 2022.[4]

Purpose of WMI[edit]

The purpose of WMI is to define a proprietary set of environment-independent specifications which allow management information to be shared between management applications. WMI prescribes enterprise management standards and related technologies for Windows that work with existing management standards, such as Desktop Management Interface (DMI) and SNMP. WMI complements these other standards by providing a uniform model. This model represents the managed environment through which management data from any source can be accessed in a common way.

Under , Microsoft had roughly 15 WMI providers available once WMI was installed

Windows NT 4.0

When was released, there were 29 WMI providers as part of the operating system installation

Windows 2000

With the release of , Microsoft included in the platform more than 80 WMI providers

Windows Server 2003

includes 13 new WMI providers,[5] taking the number close to around 100 in all

Windows Vista

includes more providers, including providers for IIS 7, PowerShell and virtualization

Windows Server 2008

includes 47 providers for the Mobile Device Management (MDM) service.[6]

Windows 10

Since the release of the first WMI implementation during the Windows NT 4.0 SP4 era (as an out-of-band download), Microsoft has consistently added WMI providers to Windows:


Many customers have interpreted the growth in numbers of providers as a sign that WMI has become at Microsoft the "ubiquitous" management layer of Windows, even if Microsoft has never made this commitment explicit.


Because of a constant increasing exposure of management data through WMI in Windows, people in the IT systems management field started to develop scripts and automation procedures based on WMI. Beyond the scripting needs, most leading management-software packages, such as MOM, SCCM, ADS, HP OpenView for Windows (HPOV), BMC Software, and CA, Inc. are WMI-enabled and capable of consuming and providing WMI information through various user interfaces. This enables administrators and operators not capable of scripting or programming on top of WMI to enjoy the benefits of WMI without even learning about it. However, if they want to, because WMI is scriptable, it gives them the opportunity to consume WMI information from scripts or from any WMI-aware enterprise-management software.

The MOF compiler (MOFComp.exe): The Managed Object Format (MOF) compiler parses a file containing Managed Object Format statements and adds the classes and class instances defined in the file to the CIM repository. The MOF format is a specific syntax to define CIM class representation in an file (e.g. MIB are to SNMP what MOF files are to CIM). MOFComp.exe is included in every WMI installation. Every definition existing in the CIM repository is initially defined in an MOF file. MOF files are located in %SystemRoot%\System32\WBEM. During the WMI setup, they are loaded in the CIM repository.

ASCII

The WMI Administrative Tools:

WinMgmt.exe: WinMgmt.exe is not a tool; it is the that implements the WMI Core service. Under the Windows NT family of operating systems, WMI runs as a service. On computers running Windows 98, Windows 95, or Windows Me, WMI runs as an application. Under the Windows NT family of operating systems, it is also possible to run this executable as an application, in which case, the executable runs in the current user context. For this, the WMI service must be stopped first. The executable supports some switches that can be useful when starting WMI as a service or as an application. WMI provider developers who may want to debug their providers essentially need to run the WMI service as an application.[9]

executable

WBEMTest.exe:

namespace

Some WMI tools can also be useful during the design and development phases. These tools are:

WMI driver extensions[edit]

The WMI extensions to WDM provide kernel-level instrumentation such as publishing information, configuring device settings, supplying event notification from device drivers, and allowing administrators to set data security through a WMI provider known as the WDM provider. The extensions are part of the WDM architecture; however, they have broad utility and can be used with other types of drivers as well (such as SCSI and NDIS).


The WMI Driver Extensions service monitors all drivers and event trace providers that are configured to publish WMI or event trace information. Instrumented hardware data is provided by way of drivers instrumented for WMI extensions for WDM. WMI extensions for WDM offer a set of Windows device driver interfaces for instrumenting data within the driver models native to Windows, so OEMs and IHVs can easily extend the instrumented data set and add value to a hardware/software solution. The WMI Driver Extensions, however, are not supported by Windows Vista and later operating systems.[11]

Open Management Infrastructure

ANT catalog § WISTFULTOLL

WMI at the Microsoft Developer Network

CIM terminology

WMI Overview and Background

WMI and CIM overview

How improved support for WMI makes PowerShell the best environment to use and script WMI

Microsoft WMI Webcast

WMI Code Creator