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.