WMI and 32-Bit Hardware Inventory

The 32-bit SMS 2.0 hardware inventory feature provides its functions through the Common Information Model (CIM) Object Manager, which is part of the WMI service. WMI is one of several Windows management services.


Note   As mentioned earlier, the 16-bit SMS 2.0 hardware inventory feature cannot take advantage of the WMI services. For this reason, it uses a different process for hardware inventory, which is described in “Details of the 16-Bit Hardware Inventory Process.”


Windows management services are extensible services that, when extended in lieu of writing custom features, lower the total cost of ownership of Windows and increase the manageability of the environment. SMS is built upon Windows management services.

As shown in Figure 10.1, Windows management services consist of the following:

Windows Management services

Figure 10.1 Windows Management services

WMI is the Microsoft implementation of the Desktop Management Task Force (DMTF) Web-Based Enterprise Management (WBEM) initiative. WMI provides a single point of access through which consumer application components, such as the SMS hardware inventory process, can interact with managed entities, such as client computers and servers. This interaction consists of changing the attributes and attribute classes associated with these entities that are located in the SMS site database. Thus, WMI provides a consolidated interface for inventory and instrumentation of the operating environment. As a result, applications such as the SMS Administrator console can take advantage of WMI’s central access point for accessing all their data.


Note   The terms “property” and “attribute” as used in this chapter are synonymous. Generally, the term “property” is more common when referring to user interfaces, and the term “attribute” is more common when referring to database entries.


To understand WMI, you should be thoroughly familiar with the following elements:

CIM Repository
A data store where WMI stores schema and provider information from a number of sources.

These sources can include the registry, the Win32 API, or databases such as the SMS site database. This design makes it possible to provide single point of access for all the management information for a specific system.

CIM Object Manager
The coordinator of information exchange among client applications, the CIM Repository, and the providers.

The CIM Object Manager supports services such as event notification, remote access, and query processing, and it grants WMI consumer applications access to the CIM Repository.

Providers
Suppliers of information about managed objects within their domains for WMI consumer applications through the CIM Object Manager.

The CIM Object Manager receives the following types of requests from a consumer application:

  • Data that is unavailable from the CIM Repository
  • Notification of an event that the CIM Object Manager does not support

When a request is received from a consumer application, it is forwarded to a provider. Providers supply data about and notifications for managed objects in the provider’s particular domain. Although providers can be executable files or dynamic-link libraries (DLL) files, the providers that are used with SMS are DLLs that are loaded into the WMI service (WinMgmt.exe) when the service is started.

Consumer applications
Applications that request and receive information from one or more managed objects through WMI.

To obtain needed information, a consumer application makes a request for information from the CIM Object Manager. The CIM Object Manager forwards the request to the correct provider, and the information is returned from that provider. For example, applications such as the SMS Administrator console and the SMS hardware inventory process are consumer applications.

With WMI technology, consumer applications can perform a wide range of tasks, such as producing network inventory reports, displaying system information, responding to events, and starting or stopping system services.

As shown in Figure 10.2, the CIM Object Manager can be thought of as a translation program that takes requests from a number of consumer applications such as the SMS hardware inventory process and the SMS Administrator console, and then fills those requests by obtaining the information from one of a series of providers.

Consumer applications, providers, and the CIM Object Manager

Figure 10.2 Consumer Applications, Providers, and the CIM Object Manager

The SMS hardware inventory process uses two providers within the WMI service: the Win32 Provider and the SMS Provider. The Win32 Provider is part of the basic WMI service, while the SMS Provider is an SMS add-on.

The hardware inventory component uses the Win32 Provider to access hardware properties when collecting inventory. When the inventory file reaches the primary site server, these properties are stored in the SMS site database as SMS Provider properties. The SMS Provider includes a corresponding property for each Win32 Provider property that is collected by hardware inventory. During the processing of Management Information Format (MIF) files at the primary site server, Win32 Provider properties are translated into SMS Provider properties before they are stored in the SMS site database.