The configuration file for the Enhanced Notification Service for SCOM is found in the install directory and is called EnhancedNotificationService.exe.confg

At its simplest, the EnhancedNotificationService.exe.confg is an XML file with many predefined configuration sections available and support for custom configuration sections. A "configuration section" is a snippet of XML with a schema meant to store information.

When changing values in the configuration file, ENS for SCOM must be restarted to have any changes go into effect.

<log4net> section

The log4net section allows administrators to setup logging to file, sql server, or other log types.

See: for more detail on how to configure this section.

<appSettings> section

The appSettings section contains configuration for ENS for SCOM.

scomadminemailaddress - SCOM Administrators email address - this email address is used to send notifications for licensing and errors about this service to the SCOM administrator.  This is not an end user email.

   <add key="scomadminemailaddress" value="[email protected]"/>

QueuePath - Working temp directory to save inbound email notifications from the SCOM

   <add key="QueuePath" value="c:\tmp\queue" />

ManagementServer1-4 - SCOM 2012 Management server ENS connects to in order 1-4.  First one that responds we connect to.

   <add key="ManagementServer1" value="scom2" />

   <add key="ManagementServer2" value="scom1" />

   <add key="ManagementServer3" value="scom3" />

   <add key="ManagementServer4" value="scom4" />

ManagementRetryCount - How many times to attempt to reconnect to the above management servers before giving up and shutting down the service

   <add key="ManagementRetryCount" value="60"/>


Local SMTP service Settings

smtpserver - The smtp server we should deliver mail to.  This is normally your internal mail server

   <add key="smtpserver" value="" />

smtpport - This is the smtp server port where we should deliver mail to

   <add key="smtpport" value="25" />

smtpssl - Enable or disable SSL

   <add key="smtpssl" value="false" /> <!-- True or False -->

smtpauth - User authentication for SMTP

       Can be: Service, User or Anonymous.  

       Service:     mail will use the service account of which the service runs under to authenticate.

       User:        mail will use the credentials below:

       Anonymous:   mail will be sent anonymously

   <add key="smtpauth" value="Service"/>  

smtpuser - user account used when smtpauth is set to 'User'

   <add key="smtpuser" value="username" />

smtppassword - password for the username account used when smtpauth is set to 'User'

   <add key="smtppassword" value="password" />

localport - Local smtp TCP port ENS for SCOM accepts mail on

   <add key="localport" value="25" />



maximumProcessRetries - How many times should we attempt to deliver the notification to the mail server before we give up and delete the notification

   <add key="maximumProcessRetries" value="100" />

delayBeforeRetry - retry delay in ms between sending the smtp email to the server. 60000 = 1 min, 300000 = 5 mins etc...

   <add key="delayBeforeRetry" value="60000" />



logtolog4net enable log4net logging

   <add key="logtolog4net" value="true" /> <!-- true or false -->

logtolog4netseperator log4net sperator in the %message

   <add key="logtolog4netseperator" value=" " />  <!-- can be space , ; | "," or any other delimiter -->


logtoapplicationlog enable logging to the Windows Application log

   <add key="logtoapplicationlog" value="true" /> <!-- true or false -->


Default Template to use as emails.

EmailBodyTemplate - format for the body of the email

   <add key="EmailBodyTemplate" value="EmailBodyTemplate.txt" />

EmailSubjectTemplate - format for the subject line in the email  (just use one line only)

   <add key="EmailSubjectTemplate" value="EmailSubjectTemplate.txt" />    

Custom email template per SMTP Channel  

You now have the ability to customize, per SMTP notification channel, which email template to use.

This is useful for channels that require special customizations like Blackberries, pagers, or other devices that may require a particular format.

In the SCOM Console change the SMTP channel subject to:

       $Data[Default='Not Present']/Context/DataItem/AlertId$;$MPElement$;<custom template number to be utilized>        


       To use EmailBodyTemplate1 and EmailSubjectTemplate1 on a SMTP channel:

$Data[Default='Not Present']/Context/DataItem/AlertId$;$MPElement$;1

To use EmailBodyTemplate2 and EmailSubjectTemplate2 on a SMTP channel:

$Data[Default='Not Present']/Context/DataItem/AlertId$;$MPElement$;2

Next in the EnhancedEmailNotificationService.exe.config define the path to the custom template:

EmailBodyTemplate1 - format for the body of the email

   <add key="EmailBodyTemplate1" value="path to\EmailBodyTemplate1.txt" />

EmailSubjectTemplate1 - format for the subject line in the email  (just use one line only)

   <add key="EmailSubjectTemplate1" value="path to\EmailSubjectTemplate1.txt" />


EmailBodyTemplate2 - format for the body of the email

   <add key="EmailBodyTemplate2" value="path to\EmailBodyTemplate2.txt" />

EmailSubjectTemplate2 - format for the subject line in the email  (just use one line only)

   <add key="EmailSubjectTemplate2" value="path to\EmailSubjectTemplate2.txt" />

Full path to the template must be present.  Follow this format for EmailBodyTemplate3,4,5,6, etc...  There is no limit of number of templates you can have.


languagecode - Language Code for knowledgebase article language selection:

   <add key="languagecode" value="ENU" />    


   CHS - Chinese (Simplified)

   CHT - Chinese (Traditional)

   CSY - Czech

   DAN - Danish

   DEU - German

   ELL - Greek

   ENU - English

   ESN - Spanish

   FIN - Finnish

   FRA - French

   ITA - Italian

   JPN - Japanese

   KOR - Korean

   NLD - Dutch

   NOR - Norwegian

   PLK - Polish

   PTB - Portuguese (Brazil)

   PTG - Portuguese

   RUS - Russian

   SVE - Swedish

   TRK - Turkish

Template customizations

Character strings to be replaced in  %%ALERT_ResolutionStateColor%%


   <add key="New_resolution_state_color" value="#E50000"/>

   <add key="Awaiting Evidence_resolution_state_color" value="#E59900"/>

   <add key="Assigned to Engineering_resolution_state_color" value="#E2E500"/>

   <add key="Acknowledged_resolution_state_color" value="#D400E5"/>

   <add key="Scheduled_resolution_state_color" value="#6800E5"/>

   <add key="Resolved_resolution_state_color" value="#00E51C"/>

   <add key="Closed_resolution_state_color" value="#00E51C"/>

   <add key="Custom Alert State_resolution_state_color" value="#4D959C"/>


Character strings to be replaced in  %%ALERT_ResolutionStateBackgroundColor%%

   <add key="New_resolution_state_backgroundcolor" value="#E50000"/>

   <add key="Awaiting Evidence_resolution_state_backgroundcolor" value="#E59900"/>

   <add key="Assigned to Engineering_resolution_state_backgroundcolor" value="#E2E500"/>

   <add key="Acknowledged_resolution_state_backgroundcolor" value="#D400E5"/>

   <add key="Scheduled_resolution_state_backgroundcolor" value="#6800E5"/>

   <add key="Resolved_resolution_state_backgroundcolor" value="#00E51C"/>

   <add key="Closed_resolution_state_backgroundcolor" value="#00E51C"/>

   <add key="Custom Alert State_resolution_state_backgroundcolor" value="#4D959C"/>


Character strings to be replaced in %%ALERT_ResolutionStateTxt%% These can be a string or a url such as

   <add key="New_resolution_state_txt" value="" />

   <add key="Awaiting Evidence_resolution_state_txt" value=""/>

   <add key="Assigned to Engineering_resolution_state_txt" value=""/>

   <add key="Acknowledged_resolution_state_txt" value=""/>

   <add key="Scheduled_resolution_state_txt" value=""/>

   <add key="Resolved_resolution_state_txt" value=""/>

   <add key="Closed_resolution_state_txt" value=""/>

   <add key="Custom Alert State_resolution_state_txt" value=""/>


Character strings to be replaced in %%ALERT_ResolutionStateTxt2%% These can be a string such as ↑ ↓  ← →  ⇓ ⇑  ⇒  ⇐ ⇖ ⇗ ⇘ ⇙

   <add key="New_resolution_state_txt2" value="↑" />

   <add key="Awaiting Evidence_resolution_state_txt2" value="→"/>

   <add key="Assigned to Engineering_resolution_state_txt2" value="→"/>

   <add key="Acknowledged_resolution_state_txt2" value="→"/>

   <add key="Scheduled_resolution_state_txt2" value="→"/>

   <add key="Resolved_resolution_state_txt2" value="↓"/>

   <add key="Closed_resolution_state_txt2" value="↓"/>

   <add key="Custom Alert State_resolution_state_txt2" value="⇒⇒"/>


Character strings to be replaced in %%ALERT_SeverityColor%%

   <add key="Information_severity_color" value="#0012FF"/>

   <add key="Warning_severity_color" value="#B7AC00"/>

   <add key="Error_severity_color" value="#E50000"/>


Character strings to be replaced in %%ALERT_SeverityTxt%% These can be a string or a url such as

   <add key="Information_severity_txt" value=""/>

   <add key="Warning_severity_txt" value=""/>

   <add key="Error_severity_txt" value=""/>


Character strings to be replaced in %%ALERT_SeverityTxt2%%  These can be a string or symbols such as △▲╳

   <add key="Information_severity_txt2" value="△"/>

   <add key="Warning_severity_txt2" value="▲"/>

   <add key="Error_severity_txt2" value="╳"/>

Limit the amount of characters in %%ALERT_Context%%

Enable_Alert_Context bool true/false  
This Enables truncation of %%ALERT_Context%% to a manageable size.

This will truncate %%ALERT_Context%% to a string length. APM can cause large amount of data in %%ALERT_Context%%
1000 = one thousand characters in the string.

   <add key="Enable_Alert_Context" value="false"/>

   <add key="Limit_Alert_Context" value="5000"/>