Share via

Get to know your monitor

Ever need to disable a specific monitor?

I know I get tired of clicking through the console, maybe you do too?
Do you know the Monitor name and class?
If yes, then you can enable/disable monitors from PowerShell


So let's get started.

From your management server, you can run SCOM commands as your ID (assuming your ID is set up in SCOM)


This example has 2 purposes:

  1. SQL2016 SP1 does NOT populate the proper fields, and will be fixed in SP2 per the SQL Engineering blog (Look at comments section - blog here)
  2. Tired of the warning alerts in my SCOM console


Find the monitors

$Monitor = get-scommonitor | where { $_.DisplayName -like "Service Pack Compliance" } | where { $_.Name -like "*Microsoft.SQLServer.2016.DBEngine*" }


Let's focus for a second on some differences, and how you can interchange the two depending on what information you know

DisplayName attribute is what you see in the console (note the spaces)

Name attribute typically has dots for the spaces


Override a class

Disable-SCOMMonitor -Class $Class -ManagementPack $MP -Monitor $Monitor

Just in case you need to undo the override

Enable-SCOMMonitor -Class $Class -ManagementPack $MP -Monitor $Monitor


Override a group

$Group = (Get-SCOMGroup -DisplayName "Group*")


# Enable the group

Enable-SCOMMonitor -Group $Group -ManagementPack $MP -Monitor $Monitor


# Disable the group

Disable-SCOMMonitor -Group $Group -ManagementPack $MP -Monitor $Monitor



Reference Links

Disable-SCOMMonitor /en-us/powershell/systemcenter/systemcenter2016/operationsmanager/vlatest/disable-scommonitor

Enable-SCOMMonitor /en-us/powershell/systemcenter/systemcenter2016/OperationsManager/vlatest/Enable-SCOMMonitor