SCOM Monitor Reset Script

This script was presented by Cameron Fuller and the meat of it was written John Curtiss. This script will allow you to reset a specified monitor on all systems by just passing the monitor’s name.

To execute the script, save it as a .ps1 and pass the parameters for monitor name and management server. If you don’t specify management server it will default to local host.

monitor_reset.ps1 –ManagementServer <MP Name> –MonitorName <Monitor>

monitor_reset.ps1 –ManagementServer SCOM01 –MonitorName ‘Windows Event Log Viewer’






# Set parameters


{$ManagementServer = "localhost"}


# Load OpsMgr Module

if(@(get-module | where-object {$_.Name -eq "OperationsManager"}  ).count -eq 0)

        {Import-Module OperationsManager -ErrorVariable err -Force}


# Execute script

New-SCOMManagementGroupConnection -ComputerName $ManagementServer

$Monitors=Get-SCOMMonitor -ComputerName $ManagementServer | where {$_.DisplayName -eq $MonitorName}

foreach ($Monitor in $Monitors) {

     get-scomclass -name $ |

     Get-SCOMClassInstance | where {$_.HealthState.value__ -gt 1} |

     foreach {$_.ResetMonitoringState($Monitor)}


Leave a Reply