Represents a monitoring task. Namespace: Microsoft.EnterpriseManagement.Configuration
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

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.

Platforms

Development Platforms

Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP

Target Platforms

Windows Server 2008,Windows Server 2003,Windows Vista,Windows XP

See Also