Is there a way programatically to find out if the SCOM agent is in Maintenance Mode.
A:
This could be done by calling cmdlets.
Add-PSSnapin Microsoft.EnterpriseManagement.OperationsManager.Client Get-Agent
Add Reference to System.Management.Automation.dll
public class ExecuteCmdlet { public static InitialSessionState state; public static RunspacePool pool;
static ExecuteCmdlet()
{
Console.WriteLine("Creating Initial State");
state = InitialSessionState.CreateDefault();
try
{
PSSnapInException ex = null;
state.ImportPSSnapIn("Microsoft.EnterpriseManagement.OperationsManager.Client", out ex);
}
catch { }
pool = RunspaceFactory.CreateRunspacePool(state);
pool.SetMinRunspaces(3);
pool.SetMaxRunspaces(10);
pool.Open();
}
public static Collection<PSObject> Execute(string cmd)
{
PowerShell gpc = PowerShell.Create();
// Specify the runspace to use and add commands.
gpc.RunspacePool = pool;
gpc.AddCommand(cmd);
return gpc.Invoke();
}
}
imasud
2010-09-01 00:57:34