Blueprint for Management

Microsoft® Windows® 2000 Scripting Guide

WMI is based on the idea that configuration and management information from different sources can be uniformly represented with a schema, and that the CIM repository is the schema for WMI. Think of a schema as a blueprint or model that represents something that exists in the real world. Much like an architectural drawing models a physical structure such as a house, the CIM models the hardware, operating system, and software that make up a computer. The CIM is the data model for WMI.


  • As noted previously, although the CIM repository stores some data, its primary purpose is to model the managed environment. The CIM is not designed to store the volumes of management information it defines. Instead, most of the data is dynamically retrieved, on demand, from a WMI provider. The exception is WMI operational data. WMI operational data, such as namespace information, provider registration information, managed resource class definitions, and permanent event subscriptions, is stored in the CIM repository.

Figure 6.2 provides a conceptual view of the internal structure and organization of the CIM repository. As illustrated in Figure 6.2, the CIM uses classes to create the data model. The CIM contains far more classes than the eleven shown in the diagram. It is important to understand that the CIM repository is the class store that defines the WMI managed environment and every manageable resource exposed through WMI.

There are three important CIM concepts illustrated in Figure 6.2 that help explain how to successfully navigate and interpret the WMI schema:

  1. The CIM repository is divided into multiple namespaces.

  2. Each namespace can contain one or more of the following groups of classes:

    • System classes

    • Core and common classes

    • Extension classes

  3. There are three primary class types: abstract, static, and dynamic. A fourth class type, known as an association class, is also supported.

    • An abstract class is a template used to derive (define) new abstract and nonabstract classes and cannot be used to retrieve instances of managed resources.

    • A static class defines data physically stored in the CIM repository the most common of which is WMI configuration and operational data.

    • A dynamic class is a class that models a WMI-managed resource that is dynamically retrieved from a provider.

    • An association class is an abstract, static, or dynamic class that describes a relationship between two classes or managed resources.

The next section of this chapter examines each of these concepts in more detail.

Figure 6.2 Structural View of the CIM Repository the WMI Schema