Windows Management Instrumentation, or WMI, is is a technology which enables easier management of Microsoft Windows-based servers and workstations. It collects and reports on configuration information about the computer using a standard interface. In addition to viewing configuration information, WMI also can manipulate windows computers by setting configurations of the computer. WMI is not a centralized configuration engine, but rather a framework build to remotely view and set configurations of individual Windows computers. Before the advent of WMI in the mid-1990s, doing remote management of Windows computers was very difficult. The first implementation of WMI was rather limited, but this has changed to include support for a wide variety of hardware and software configurations.
WMI is very similar to another network management protocol that most network administrations are familiar with: SNMP. Like SNMP, WMI is in the middle layer between management applications and scripts, and configuration settings on a server. However, unlike SNMP, WMI is designed from the ground up to support countless configurations items. This means that WMI can report on, and control, complex Windows configuration items like mount points. Our favourite WMI tools are broken into two categories: browsers and manipulators. As the names support one category is for browsing WMI objects and the other is for making changes. There are countless WMI tools, but the following 5 are great choices:
1. RECOMMENDED: Solarwinds Free WMI Monitor
Solarwinds free WMI Monitor monitors any Windows application or server, giving you insight into real-time performance. You can use the built-in, community-sourced, or custom templates to start monitoring immediately after download. WMI Monitor quickly and easily gives you at-a-glance insight into server and application performance with a new desktop dashboard. You can modify or design your own application templates with the built-in WMI browser – no more WMI scripting…
Solarwinds also has a great walkthrough on how to actually configure and use their WMI Monitor:
2. WMI Explorer (CodePlex)
The WMI Explorer distributed by CodePlex is a favourite tool. It offers a modern, intuitive interface over what can be a very difficult to discern system. It exposes the WQL query to get your selected object or properties, as well as script generation to give you the corresponding Powershell/VBScript to get them. This can be especially helpful when working with portions of the Windows system that Powershell does not cover with Cmdlets yet. One of our favourite features of this WMI Explorer is that it is free, so you can install it at will without having to worry about licensing.
3. WMI Explorer (Sapien)
While not free, Sapien’s WMI Explorer exposes some very nice features that the CodePlex WMI Explorer does not. An excellent example is the integrated Technet button that will perform a search for your selected WMI object through Technet. The UI is also slightly more intuitive, with tabs at the bottom to show Powershell and VBScript code to retrieve the selected item, along with an embedded Powershell console for you to experiment with in-browser. The UI also seems to be styled after the new Ribbon-based Microsoft Office menus, which can help provide a more familiar interface.
4. WMI Explorer (Marc van Orsouw)
The big advantage of Marc van Orsouw’s WMI Explorer is that it is entirely Powershell based, meaning that it should run on any Windows Server 2008 or newer operating system without needing any installation. This can be a big advantage if you want to put a WMI Explorer on all of your systems, or if you just want to take a quick peak at a WMI object without needing to go through a hefty install process. It is fairly feature-bare compared to some of the other options, but it is useful if you just want to quickly find a WMI object for a Powershell script.
The other tools discussed are centered around finding WMI objects, but Powershell is second to none when it comes to manipulating the objects once you’ve found them. This is heavily evidenced by the tight integration between Powershell and the various WMI Explorers. When combined with information about the attributes from one of the WMI Explorers, Powershell is the easiest way to programmatically access the underlying data from a local or remote WMI store.
There is no shortage of tools at the administrator’s fingertips for working with WMI objects. In the Windows world, WMI is often replacing SNMP as the protocol of choice for monitoring. The ability to see information about a remote system easily, and to combine that with centralized administrative software make WMI and important part of the administrators toolkit.