0

Is there a way programatically to find out if the SCOM agent is in Maintenance Mode.

imasud
  • 171
  • 2
  • 9

1 Answers1

0

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();
    }
}
makerofthings7
  • 60,103
  • 53
  • 215
  • 448
imasud
  • 171
  • 2
  • 9