Chapter 28. Windows Management Instrumentation

Introduction

Windows Management Instrumentation (WMI) has long been a core management feature in Windows. It offers amazing breadth, wide reach, and ubiquitous remoting.

What WMI lacked in the past, though, was a good way to get to it. Graphically, the wbemtest.exe utility lets you experiment with WMI, its namespaces, and classes. It truly is a testing tool, though, as its complex user interface makes it impractical to use for most scenarios (see Figure 28-1).

Using wbemtest.exe to retrieve a Win32_Process

Figure 28-1. Using wbemtest.exe to retrieve a Win32_Process

A more user-friendly alternative is the wmic.exe command-line tool. The WMIC tool lets you interactively query WMI—but more importantly, automate its behavior. As with PowerShell, results within WMIC retain a great deal of their structured information and let you write fairly detailed queries:

PS > WMIC logicaldisk WHERE drivetype=3 `
    GET "name,freespace,SystemName,FileSystem,Size"

FileSystem  FreeSpace    Name  Size         SystemName
NTFS        10587656192  C:    34357637120  LEEHOLMES1C23

The language is limited, however, and all of the data’s structure is lost once WMIC converts its output to text.

By far, the most popular user interface for WMI has been VBScript, the administrator’s traditional scripting language. VBScript offers much richer language facilities than WMIC and retains WMI’s structured data for the entire duration of your script.

Get Windows PowerShell Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.