Assembly: Microsoft.EnterpriseManagement.OperationsManager (in microsoft.enterprisemanagement.operationsmanager.dll)
Usage
| Visual Basic |
|---|
Dim instance As MonitoringTask |
Syntax
| Visual Basic |
|---|
<SerializableAttribute> _ Public Class MonitoringTask Inherits ManagementPackTask Implements IMonitoringBase |
| C# |
|---|
[SerializableAttribute] public class MonitoringTask : ManagementPackTask, IMonitoringBase |
| C++ |
|---|
[SerializableAttribute] public ref class MonitoringTask : public ManagementPackTask, IMonitoringBase |
| J# |
|---|
/** @attribute SerializableAttribute() */ public class MonitoringTask extends ManagementPackTask implements IMonitoringBase |
| JScript |
|---|
SerializableAttribute public class MonitoringTask extends ManagementPackTask implements IMonitoringBase |
Example
The following example shows how to get and execute tasks for a class of computers.
| C# | Copy Code |
|---|---|
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.EnterpriseManagement;
using Microsoft.EnterpriseManagement.Configuration;
using Microsoft.EnterpriseManagement.Monitoring;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Xml;
using Microsoft.EnterpriseManagement.Monitoring.Security;
namespace SDKSamples
{
class Program
{
static void Main(string[] args)
{
ReadOnlyCollection<PartialMonitoringObject> windowsComputerObjects;
ReadOnlyCollection<MonitoringTask> monitoringTasks;
ReadOnlyCollection<MonitoringClass> monitoringClasses;
MonitoringTaskCriteria monitoringTaskCriteria;
MonitoringClassCriteria windows2003ComputerClassCriteria;
ManagementGroup managementGroup;
MonitoringClass windows2003ServerMonitoringClass;
MonitoringTask ipConfigTask;
managementGroup = new ManagementGroup("localhost");
windows2003ComputerClassCriteria = new MonitoringClassCriteria("Name = 'Microsoft.Windows.Server.2003.Computer'");
monitoringClasses = managementGroup.GetMonitoringClasses(windows2003ComputerClassCriteria);
windows2003ServerMonitoringClass = monitoringClasses[0];
monitoringTaskCriteria = new MonitoringTaskCriteria("DisplayName = 'IPConfig'");
monitoringTasks = windows2003ServerMonitoringClass.GetMonitoringTasks(monitoringTaskCriteria);
ipConfigTask = monitoringTasks[0];
windowsComputerObjects = managementGroup.GetPartialMonitoringObjects(windows2003ServerMonitoringClass);
foreach (PartialMonitoringObject windowsComputerObject in windowsComputerObjects)
{
ReadOnlyCollection<MonitoringTaskResult> taskResults;
Console.WriteLine("Executing the IPConfig task against {0}", windowsComputerObject.DisplayName);
taskResults = windowsComputerObject.ExecuteMonitoringTask(ipConfigTask, null);
foreach (MonitoringTaskResult result in taskResults)
{
XmlDocument document;
XmlElement element;
Console.WriteLine("Task Status - {0}", result.Status.ToString());
document = new XmlDocument();
document.LoadXml(result.Output);
element = (XmlElement)document.SelectSingleNode("//DataItem//StdOut");
if (element != null)
{
Console.WriteLine("Task Output");
Console.WriteLine(element.InnerText);
}
}
}
}
}
}
|
|
Inheritance
Hierarchy
System.Object
Microsoft.EnterpriseManagement.Configuration.ManagementPackItem
Microsoft.EnterpriseManagement.Configuration.ManagementPackElement
Microsoft.EnterpriseManagement.Configuration.ManagementPackAccessibleElement
Microsoft.EnterpriseManagement.Configuration.ManagementPackTask
Microsoft.EnterpriseManagement.Configuration.MonitoringTask
Microsoft.EnterpriseManagement.Configuration.ManagementPackItem
Microsoft.EnterpriseManagement.Configuration.ManagementPackElement
Microsoft.EnterpriseManagement.Configuration.ManagementPackAccessibleElement
Microsoft.EnterpriseManagement.Configuration.ManagementPackTask
Microsoft.EnterpriseManagement.Configuration.MonitoringTask
Thread Safety
Any public static (Shared in Visual
Basic) members of this type are thread safe. Any instance members
are not guaranteed to be thread safe.


