Represents a RunAs account. Namespace: Microsoft.EnterpriseManagement.Monitoring.Security
Assembly: Microsoft.EnterpriseManagement.OperationsManager (in microsoft.enterprisemanagement.operationsmanager.dll)

Usage

Visual Basic
Dim instance As MonitoringSecureData

Syntax

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

Example

The following example shows how to update an existing RunAs action account using the MonitoringSecureData class.

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;
using System.Security;

namespace SDKSamples
{
	class Program
	{
		static void Main(string[] args)
		{ 	 
			MonitoringSecureDataCriteria				runAsAccountCriteria;
			ManagementGroup							 managementGroup;
			ReadOnlyCollection<MonitoringSecureData> runAsAccounts;
			SecureString								password;

			managementGroup		 = new ManagementGroup("localhost");
			runAsAccountCriteria	= new MonitoringSecureDataCriteria("UserName LIKE 'MonitoringAccount'");
			password				= new SecureString();
		
			runAsAccounts		 = managementGroup.GetMonitoringSecureData(runAsAccountCriteria);

			if (runAsAccounts.Count == 0)
			{
				Console.WriteLine("RunAs account not found");
		}

			Console.WriteLine("Please enter the password");

			while (true)
			{
				ConsoleKeyInfo cki = Console.ReadKey(true);

				if (cki.Key == ConsoleKey.Enter)
				{
					break;
			}
				else if (cki.Key == ConsoleKey.Backspace)
				{
					if (password.Length > 0)
					{
						Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop);
						Console.Write(" ");
						Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop);
						password.RemoveAt(password.Length - 1);
				}
			}
				else if (cki.Key == ConsoleKey.Escape)
				{
					Console.WriteLine("Password not entered");
					return;
			}
				else if (Char.IsLetterOrDigit(cki.KeyChar) || Char.IsSymbol(cki.KeyChar))
				{
					password.AppendChar(cki.KeyChar);
					Console.Write("*");
			}
				else
				{
					Console.Beep();
			}
		}

			runAsAccounts[0].SecureData = password;

			runAsAccounts[0].Update();

			Console.WriteLine("RunAs account successfully updated");
	}   
}  
}

Remarks

A RunAs account is a named set of credentials that are represented by RunAs Profiles for authentication when executing monitors, rules, or tasks. The types of RunAs accounts are as follows:

  1. Windows

  2. Community String

  3. Basic Authentication

  4. Simple Authentication

  5. Digest Authentication

  6. Binary Authentication

  7. Action Account


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