A Microsoft.EnterpriseManagement.Monitoring.MonitoringObject represents an instance of a Microsoft.EnterpriseManagement.Configuration.MonitoringClass that is defined in a Management Pack. You can query Operations Manager to obtain the existing monitoring objects in a Management Group. You can query for Monitoring Objects by defining criteria in the Microsoft.EnterpriseManagement.Monitoring.MonitoringObjectCriteria class constructor. The criteria syntax is defined in Criteria Expression Syntax.
The following code queries for all computers in an error state that are running Windows Server 2003.
| C# | Copy Code |
|---|---|
/// <summary>
/// Query for all computers in an error state that are running Windows Server 2003.
/// </summary>
using System;
using System.Collections.ObjectModel;
using Microsoft.EnterpriseManagement;
using Microsoft.EnterpriseManagement.Configuration;
using Microsoft.EnterpriseManagement.Monitoring;
namespace SDKSamples
{
class Program
{
static void Main(string[] args)
{
ManagementGroup mg = new ManagementGroup("localhost");
// The criteria specifies that you want to collect
// computers running Windows Server 2003.
MonitoringClassCriteria classCriteria =
new MonitoringClassCriteria("Name = 'Microsoft.Windows.Server.2003.Computer'");
// There should only be one item in the monitoringClasses collection.
ReadOnlyCollection<MonitoringClass> monitoringClasses =
mg.GetMonitoringClasses(classCriteria);
// The criteria specifies that you want to collect
// all the monitoring objects (computers running Windows Server 2003) in an error state.
MonitoringObjectCriteria objectCriteria =
new MonitoringObjectCriteria(
"HealthState = 3", monitoringClasses[0]);
Console.WriteLine("Querying for data...");
ReadOnlyCollection<MonitoringObject> objects =
mg.GetMonitoringObjects(objectCriteria);
// Display information about each object.
foreach (MonitoringObject monitoringObject in objects)
{
Console.WriteLine("Object name: " + monitoringObject.DisplayName);
Console.WriteLine("Health State: " + monitoringObject.HealthState.ToString());
Console.WriteLine("Last Modified: " + monitoringObject.LastModified +
Environment.NewLine);
}
}
}
}
|
|
Send comments about this topic to Microsoft.
