Contains the results of running a monitoring task. Namespace: Microsoft.EnterpriseManagement.Monitoring
Assembly: Microsoft.EnterpriseManagement.OperationsManager (in microsoft.enterprisemanagement.operationsmanager.dll)

Usage

Visual Basic
Dim instance As MonitoringTaskResult

Syntax

Visual Basic
<SerializableAttribute> _
Public Class MonitoringTaskResult
		Inherits MonitoringBaseWithId
C#
[SerializableAttribute] 
public class MonitoringTaskResult : MonitoringBaseWithId
C++
[SerializableAttribute] 
public ref class MonitoringTaskResult : public MonitoringBaseWithId
J#
/** @attribute SerializableAttribute() */ 
public class MonitoringTaskResult extends MonitoringBaseWithId
JScript
SerializableAttribute 
public class MonitoringTaskResult extends MonitoringBaseWithId

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);
				}
			}
		}		
	}	
}
}

Remarks

This class represents an Operations Manager task result. The task results can be viewed in the Monitoring Pane of the Operations Manager. Select Task Status and view the personalized view of a task.


Inheritance Hierarchy

System.Object
   Microsoft.EnterpriseManagement.Common.MonitoringBase
     Microsoft.EnterpriseManagement.Common.MonitoringBaseWithId
      Microsoft.EnterpriseManagement.Monitoring.MonitoringTaskResult

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