WMI (Windows Management Instrumentation)

Top  Previous  Next

Windows Management Instrumentation Device Driver allows AggreGate Server to manage Microsoft Windows computers. Like with all other types of devices, data collected via WMI is converted into unified form to allow access from different AggreGate facilities. See Devices article for more information about the "normalized" representation of devices in Tibbo AggreGate.

WMI device driver allows AggreGate Server to monitor and manage WMI-enabled computers remotely from any, even non-Windows platform. All the communications are provided using Distributed COM (DCOM) technology.

With AggreGate Server's WMI driver, you can:

read and write properties of WMI objects
fetch information using WMI Query Language (WQL) request
call methods provided by WMI objects
subscribe for WMI events.

note_tip-wt

In order to monitor/manage a WMI computer, you should configure remote access to WMI service on that machine. See Configuring Remote Access to WMI for information on this subject.

Driver Information

Driver Plugin ID:

com.tibbo.linkserver.plugin.device.wmi

Global Settings

None defined.

User Level Settings

None defined.

Device Properties

Connection Properties

Connection settings define how AggreGate Server communicates with a certain WMI computer. These settings can be accessed using Edit Device Properties action of the Device Context. Here is a list of available connection properties:

Setting

Description

Address

IP address or host name of a WMI computer.

Domain

Windows Domain name (optional).

User

Name of Windows User Account used to access WMI via DCOM.

Password

Password of the Windows User Account.

Namespace

A WMI namespace.

Asset View

Driver supports two types of asset view representation:

Flat view, i.e. a plain list of WMI classes available at the device.
Tree view representing hierarchy of WMI classes.

note_tip-wt

To apply this option for an existing device, you should invoke Reset Device Driver action.

Timeout

Timeout for WMI operations.

WQL Requests

The WQL Requests table defines queries that can be used to retrieve fine-grained information from WMI device: certain properties of objects or objects that meets specified conditions.

Setting

Description

Name

Request name.

Description

Request description.

Expressions

Forces treating WQL Request field as expression. This expression must resolve to a WQL query string.

WQL Request

WQL query text.

WQL Event Requests

The WQL Event Requests table defines queries that are used to subscribe to WMI events.

Setting

Description

Name

Request name.

Description

Request description.

Expressions

Forces treating WQL Request field as expression. This expression must resolve to a WQL query string.

WQL Request

Text of WQL event query.

Device Assets

For each WMI class driver creates an asset of the same name. By enabling an asset, user asks driver to fetch all the instances of a corresponding class. Most assets are disabled by default, just few often-used classes are enabled.

note_warning-wt

Some WMI classes may have thousands or even millions of instances. Enabling these classes may cause device synchronization slowdown and exceeding resource consumption. Use WQL requests to fetch data precisely.

Device Settings

WMI device driver creates Device setting variables as follows:

For each enabled asset (WMI class) it creates a variable of the same name.
For each query defined in WQL Requests table it creates a variable of the same name.
The WMI Event variable that stores information about WMI event subscriptions is created.

Device Operations

WMI driver creates a Device context function and a corresponding action for every method provided by enabled WMI classes. These actions are grouped by class names.

When invoked, WMI action requests object path and method parameters, then calls the method for the object, converts output and displays it as a result table.

Device Events

WMI driver allows to monitor WMI events. Subscription for WMI events is performed by adding WQL Event Requests in Device properties. Driver subscribes for and/or unsubscribes from event notifications when this table is changed.

Connection Handling

WMI driver makes the device Online if:

connection to a DCOM server on the specified computer using user name, domain and password provided is established
access to the specified WMI namespace is acquired using the DCOM connection.

Synchronization Details

WMI devices are synchronized with AggreGate Server like any other Devices. Synchronization includes the following steps:

Reading assets definitions (if they were not read yet or were reset).

note_glossary-term

Each asset element relates to a WMI class of the same name.

Device metadata acquisition:
oFor each enabled asset driver fetches definition of a corresponding WMI class including its properties and methods specifications.
oFor each query specified in the WQL Requests table driver creates a variable that will contain results.
oAdds a WMI Events variable that controls all WMI event subscriptons specified in the WQL Event Requests table.
Reading/writing device settings:
oDriver reads properties of all instances for classes defined by assets.
oWrites changed properties of WMI objects back to managed device.
oExecutes all WQL requests putting fetched data in the query variables.
oManages WMI event subscription according to the WMI Event variable.

WMI Data Conversion

WMI objects are converted to AggreGate tables as follows:

A table comprises data of one or several (array of) WMI objects.
Each object is presented by a single data record.
The table contains the Object Path field that identifies object using its path in WMI namespace.
Other fields in the table reflect properties of the WMI object. The following table shows how WMI types are converted to AggreGate types and vice versa:

WMI Type

AggreGate Type

Unsigned 8-bit integer

Integer

Signed 8-bit integer

Integer

Unsigned 16-bit integer

Integer

Signed 16-bit integer

Integer

Unsigned 32-bit integer

Integer

Signed 32-bit integer

Integer

Unsigned 64-bit integer

Long

Signed 64-bit integer

Long

UCS-2 string

String

Boolean

Boolean

IEEE 4-byte floating-point

Float

IEEE 8-byte floating-point

Double

Datetime

Date

Reference

String

16-bit UCS-2 character

String

Object

Data Table

Arrays

Data Table

Class and property qualifiers (Key, Write, Abstract, etc.) are used to refine conversion.