This topic provides information using Windows
Management Instrumentation (WMI) providers for Exchange to develop
messaging applications.
Introduction
Microsoft® Windows® Management Instrumentation (WMI) is the Microsoft
implementation of Web-Based Enterprise Management (WBEM). WBEM provides
uniform access to management information. Such management information
includes information about the state of system memory, inventories of
currently installed client applications, and other information about
client status. The Exchange WMI providers supply information about the
configuration and state of Exchange servers.
Caveats
Be aware that complex queries over the message tracking logs can take a
long time to process.
Functional Criteria
| Criteria | Windows Management Instrumentation (WMI) providers for Exchange |
|---|
| Application Domain | WMI applications that use the Exchange providers are intended for
system monitoring and management consoles, administrative migration,
analysis, and maintenance scripts. |
| Major Objects | Instances provided by the Exchange WMI providers include the following:
ExchangeClusterResource, ExchangeConnectorState, ExchangeLink,
ExchangeQueue, ExchangeServerState, Exchange_DSAccessDC,
Exchange_FolderTree, Exchange_Link, Exchange_Logon,
Exchange_Mailbox, Exchange_MessageTrackingEntry,
Exchange_PublicFolder, Exchange_Queue,
Exchange_QueueCacheReloadEvent, Exchange_QueueSMTPVirtualServer,
Exchange_QueueVirtualServer, Exchange_QueueX400VirtualServer,
Exchange_QueuedMessage, Exchange_QueuedSMTPMessage,
Exchange_QueuedX400Message, Exchange_SMTPLink, Exchange_SMTPQueue,
Exchange_ScheduleInterval, Exchange_Server, Exchange_X400Link, and
Exchange_X400Queue. |
| Data access model | Mixed. Instances of Exchange provider objects are represented as
hierarchical lists of objects that have properties and methods. In
addition, instances can be selected by using the WMI Query Language
(WQL), which is similar to SQL in structure. |
| Threading Models | No specific threading prohibitions. However, applications that use
free-threading should never share WMI object instances among
asynchronously operating threads. WMI is most frequently used in
scripted applications, where threading is not an issue. |
| Application Architectures | WMI is typically used in command-line or GUI-based administrative
scripts. In addition, WMI can be used within ASP pages to form a
Web-based Exchange server health monitor. |
| Remote Usage | Yes. WMI can be used remotely. The WMI classes verify that the
user has the appropriate permissions to access and control the
objects. |
| Transactions | No. |
| Management Capabilities | WMI is itself a management facility. |
| Availability | The Exchange WMI providers have been enhanced for Exchange Server
2003. No changes are anticipated at this time. |
Development Criteria
| Criteria | Windows Management Instrumentation (WMI) providers for Exchange |
|---|
| Languages and Tools | WMI can be used in any COM compatible language. It is most
frequently used with scripting languages such as VBScript and
Jscript. Using C/C++ to develop applications is considerably more
difficult than using scripting languages to develop applications. |
| Managed Implementation | WMI can be used in a managed-code environment, with any language
that provides access to the .NET Framework. |
| Scriptable | Yes. |
| Test/Debug Tools | No special tools are required to debug applications that use WMI.
|
| Expert Availability | Finding developers who can effectively program applications that
use the Exchange WMI providers should be relatively easy. |
| Available Information | You can find information about creating applications and scripts that use WMI in
Microsoft and third-party books. For more information about WMI, see Windows Management Instrumentation on MSDN. |
| Developer / Deployment Licensing | No special licenses are required to deploy an application that
uses WMI to access Exchange. Refer to your Exchange and MSDN
subscription licensing agreements to determine whether additional
licenses are required for the Exchange servers that store the data
accessed by your WMI-based applications. |
Security Criteria
| Criteria | Windows Management Instrumentation (WMI) providers for Exchange |
|---|
| Design-Time Permissions | Applications that use WMI pass a user security context to the WMI
provider. This can either be supplied in the script as a user name
and password, or obtained from the user running the script. The
Exchange WMI providers allow only Exchange administrators to perform
actions that affect the Exchange system. If the development computer
requires installation of WMI components, that installation must be
performed by a user with local administrator privileges. |
| Setup Permissions | WMI scripts can typically be copied to the intended computer and run
without modification. The client computer must be in the same domain
as the target computer. Depending on the type of Setup program used,
the user may need local administrator rights to install software. |
| Run-Time Permissions | Applications that use WMI pass a user security context to the WMI
provider. This can either be supplied as a user name and password,
or obtained from the user running the script. The Exchange WMI
providers allow only Exchange administrators to perform actions that
affect the Exchange system. |
| Built-in Security Features | WMI scripts pass a user security context to the WMI provider. This
can either be supplied in the script as a user name and password, or
obtained from the user running the script. The Exchange WMI
providers allow only Exchange administrators to perform actions that
affect the Exchange system. |
| Security Monitoring Features | Information about this is not yet available here. |
Deployment Criteria
| Criteria | Windows Management Instrumentation (WMI) providers for Exchange |
|---|
| Server Platform Requirements | The Exchange server that is accessed by the WMI-based
application must have the appropriate WMI providers installed, and
the MOF file compiled. |
| Client Platform Requirements | There are no special client requirements beyond the WMI core
components and the WMI application. |
| Deployment Methods | Applications that use WMI can be deployed to client computers
by using standard software distribution technologies. The installer
should verify that WMI is installed and configured properly. Scripts
can usually be copied to the destination computer. |
| Deployment Notes | If your WMI application programmatically browses the Exchange
provider class definitions, and the application is running on a
computer where Exchange has not been installed, the MOF file for the
Exchange providers should be compiled on the client computer by using
mofcomp.exe. |