Closing Alerts that should have already been closed!

I’ve been super busy with a new job, but came across this situation and decided a quick blog post was in order.

Several SCOM alerts that had been generated by monitors were still open but the monitor that generated them had returned to a healthy state. This was confusing for the event management team. They rightly expected the monitors to close the alerts once the error condition was resolved.

What was going on?

Looking at the History tab of the alert, showed the alert had been resolved by the system then modified by a user.


The event management team don’t see resolved/closed alerts in the views they have, how did they update a closed alert setting it’s resolution state to ‘Acknowledged’’? When you multi-select alerts the Operations Consoles pauses refreshes until you select a single alert or hit refresh.


The event monitoring team operator was responding to the heartbeat failure alerts and had selected the alerts in the console to change the resolution state to ‘Acknowledged’. Whilst this was happening the monitor returned to a healthy state and resolved the alert. Because refresh had been disabled the operators view did not update with the new status meaning the alert was effectively reopened by the operator.

Because of this we can’t be sure that the open alerts in the console should still be open. Fortunately we can use an Operations Manager PowerShell ‘one-liner’ to close the alerts in this state.

Get-ScomAlert -criteria ‘ResolutionState<”255” AND IsMonitorAlert=”True” AND MonitoringObjectHealthState=”1”’ | Set-SCOMAlert -ResolutionState 255

Closing Alerts that should have already been closed!

Updating a Dynamic DNS HostName Record Using PowerShell

Really quick post this week…

For a project I’m currently working on, and will blog about shortly, I need to be able to update a No-IP.Com DNS host record.

No-IP.Com is a dynamic DNS provider that offers a variety of methods for updating records including a web service. I’m going to use Invoke-WebRequest to access to update the DNS record.

If an IP address isn’t passed to the script it will get the current external IP address of the device by using a web request to and update the host record with that.

The script can be downloaded from here all you need to do is pass in some credentials, your hostname, and optionally an IP address.

If you have any suggestions on how to improve the script or if it’s been useful please get in touch.


Updating a Dynamic DNS HostName Record Using PowerShell