SCOM Enhanced Email Notification Script Version 2.2


SCOM Enhanced Email Notification Script Version 2.2 now supports Subscriber schedules and Address schedules!

Setup Instructions:  See original post.


You can download the current version of this script from Technet Gallery


Note: Any exclusions take precedence over any inclusions.


Page Updates:

2015.3.12: Modified the script slightly to change the way the PSModulePath variable gets set.


Comments (15)

  1. Curious1 says:

    Mr. Paul:

      Is the only added support/enhancement to this script just the ability to add schedules to subscriptions?

  2. Tyson.Paul says:

    Yes. I may have also fixed a few minor typos.

  3. Curious1 says:

    Mr. Paul:

     I noticed that in some of the alerts when Get-HealthReport is added to the alert context in the email that the columns within the alert are not structured thus making it difficult to quickly determine what is health versus what is unhealthy, especially when on a mobile device. What are the chances that this script could be modified to create a table within the email that properly formats the table that is created within the alert context?

  4. Curious1 says:

    Mr. Paul:

      When some alert emails are generated, in the body of the email, there is a printout of the Get-HealthReport. However, it is very difficult to quickly identify, especially via mobile devices, what is healthy and what isn't. Is there anyway your script can be updated to properly format that output to make it a bit simpler to quickly review which items are health and which are not?

  5. Tyson.Paul says:

    Hi Curious1,

      I'm not entirely sure to what you are referring. The Get-HealthReport cmdlet is available only in on-premises Exchange Server 2013.  I don't have Exchange set up in my lab so it's difficult to poke around.  Did you modify the script already to include the output of that cmdlet?  Or are you saying that the output of the cmdlet automatically exists in the alert context data and that it ends up being difficult to read in the context data area of the email?  Either way, the email is formatted with html. You can manipulate the structure of the email body any way you see fit. If you are asking me to do it… well… don't hold your breath. But feel free to experiment with this yourself.

  6. Rick says:

    Should this work with SCOM 2012 R2 I am having difficulty getting it to run there

  7. Tyson.Paul says:

    @Rick:  Yes. I've only tested it on SCOM 2012 and not 2007. Did you look at the Troubleshooting section of the original post?

  8. Rick says:

    I found a few commands in it that my system did not understand and needed to change like get-alert needed to be get-scomalert.   Getting this now though

    Error Data: You cannot call a method on a null-valued expression.

  9. Tyson.Paul says:

    @Rick:  These commands on or around lines 456-457 should enable the use of legacy (SCOM 2007R2) commands:

    Add-PSSnapin Microsoft.EnterpriseManagement.OperationsManager.Client -ErrorAction SilentlyContinue -ErrorVariable Err

    New-PSDrive -Name:Monitoring -PSProvider:OperationsManagerMonitoring -Root: -ErrorAction SilentlyContinue -ErrorVariable Err | Out-Null

    However, feel free to change/update the commands as you see fit if that works for you. If you do everything according to the instructions on the original post page it should work without issues. "Should" work.

  10. anders says:

    I get two emails from this everytime. Any idea why?

  11. Tyson.Paul says:


    You haven't really given me much detail to work with here but my guess is that you are receiving an initial "New" email alert and also another email once the script changes the ResolutionState to "Notified"; and have not specified resolutions states in your criteria.  On the Criteria page of the Subscription wizard, check the box: "with specific resolution state", and enable New[0], and Closed[255]  ONLY. Report back here your findings. Perhaps your feedback will help others as well. Thanks.

  12. John Liss says:

    Hey Guys you ever run into the: The Process could not load because the maximum number of asynchronous has already been reached?

    Might want to check out the Enhanced Notification Service for scom: <link removed>

  13. Tyson.Paul says:


    NO, actually I don't run into that problem because it is easily avoided by increasing the asynchronous count in the registry with a simple Powershell command (noted within my script). It takes about 4 seconds to copy and paste into a Posh console. I usually set the max to 20-25. A typical management server with 8GB of memory would rarely (if EVER) hit that ceiling. This configurable "limit" is actually a protection. In the event of some significant problem or outage, I don't want my inbox to be choked or crippled by an alert storm of incoming emails as you could experience with "other" notification solutions.

    In addition, I don't much care for you trying to advertise your solution on MY blog considering the undeniable forklifting of both Tao's script (and my enhancements) in your effort to make money from the SCOM community. Thus, you'll have to forgive me for removing the link to your site in your last comment. That being said, there are some things that I do like about your product but I cannot say that the benefit outweighs the cost. Generally I applaud those who contribute to the System Center community, however small the contribution may be, but overall THIS leaves a sour taste in my mouth. Tao's comments on the matter can be read here:…/spend-your-money-wisely  ,which are not very favorable either.

    2015.9.10: also this.

    2015.9.11: also this.

  14. Michiel Wouters says:

    Agree with you on removing a link advertising a product based on your's and Tao's solution. By the way, the link to the script is failing. The first part of the HTTP string shouldn't be there.

  15. Tyson.Paul says:


    Link is now fixed. Thanks.

Skip to main content