How to Configure Command Notification in SCOM 2012 with PowerShell script.

Here’s a step by step tutorial how to create a Command Notification which calls a PowerShell script. The step by step is in SCOM 2012, but can also be used in SCOM 2007 R2.


Step 1 Create PowerShell script

Create the following script and test:


Param ([String]$AlertName,[String]$SubscriptionID)

$Logstring = $AlertName + " " + $SubscriptionID
$Logfile = "c:\temp\LogAlerts.log"
$DateTime = Get-Date -Uformat "%y-%m-%d %H:%M:%S"
$Logstring = $DateTime + " " + $Logstring
Add-content $Logfile -value $Logstring



I have the script named and located here:


And you can test it with:



Step 2 Create Channel

Go to Administration -> Notifications -> Channels and create new command channel:



With the following parameters:

Channel name: Contoso PowerShell Command Notification Channel



Full path of the command file: c:\windows\system32\windowspowershell\v1.0\powershell.exe

Command line parameters: "c:\temp\LogAlerts.ps1" '$Data/Context/DataItem/AlertName$' '$MPElement$'

Startup folder for the command line: c:\windows\system32\windowspowershell\v1.0\



Save and finish:



As a result:




Step 3 Create Subscriber

In subscribers you define who or what will receive the notifications. Go to Subscribers and create a new subscriber


And add the following parameters

Subscriber name: Contoso Powershell Command Line Subscriber


Schedule: Always send notifications


In addresses click Add to add the channel you want to post the notifications


…and fill-in

Address name: Contoso Powershell Command Address



In Channel

Channel Type: Command

Command Channel: Contoso Powershell Command Notification Channel


In Schedule choose: Always send notifications


And click Finish. Now the subscriber is configured. Click Finish again:


The subscriber is send ready:




Step 4 Create Subscription

Here you configure which alerts go to which subscribers using what channel. Start here:


And add the following parameters:

Name: Contoso Powershell Command Line Subscription


Criteria: Notify on all alerts


In subscribers choose Add…


Choose the Contoso Powershell Command Line Subscriber


Click OK to add it here:


Choose the channel where you want to the notification to go to by choosing Add…


Add the PowerShell channel:


And add it by clicking OK:


Check the summary:


And if OK click Finish.




Step 5 - Check if the notification is working

Check if the notification is downloaded:


And if already active:


Create an alert (I created test alert for this):


See if the alert is raised:


If all configured well then you see here:



Additional information about command channel can be found here:

How to Enable a Command Notification Channel (SCOM 2012)

Enable a command notification channel (SCOM2007)

Configure Command Notification in R2

Alert notification troubleshooting in System Center Operations Manager 2007

Account for Command Channel when using Notification in OpsMgr 2007 R2



Author: Dirk van Coeverden

Comments (8)
  1. Dipsg says:

    Hi Fesiro,

    Thanks for the article. It is very helpful. I am a newbie to SvcMgr and OpsMgr and I am trying to do the following and would appreciate any help. The following is what I am trying to do:

    1) Monitor Servers using SCOM

    2) When one of the monitored server's HDD has a pre-determined amount of disk space left or a service that has stopped, raise an alert in SCOM.

    3) With that alert, raise an incident in SvcMgr.

    4) Using Orchestrator, remediate the issue and change the alert status in SvcMgr.

    I believe the following is the approach I need to achieve this:

    1) SCOM monitors the servers and raises the alerts

    2) Using the diagnostic and recovery task in SCOM, the service gets restarted / the file gets deleted

    the PS produces the customised resolution state of that alert

    3) Modify the incidence list is SM that whenever that particular type of incidence comes in to from SCOM, it gets marked in a particular way

    4) Once the specific incidence is created in SM, the orchestrator runbook is triggered and it goes and marks it as resolved.

    I have a question to ask in regards to this. I believe I can create a command channel to change the nature of the alert in SCOM. Say for example I want to rename all critical alerts coming from a particular server for disk space/service stopping, I want to change all critical alerts to say "Assign to SvcMgr". Is there a way I can achieve that? I am really a newbie and have not got a lot of experience with powershell. Would you be able to direct me towards anything similar? Any help will be greatly appreciated.

    Thanks in advance.

  2. Hi – thanks for that – perfectly described how to do it!

  3. Dipsg says:

    Hi Fesiro

    I also forgot to mention that I have created a custom alert state in SCOM in Administration–>Alerts–>New with an ID of 19. Ideally I would want to convert all the new alerts of the type that I want into alerts of this type.

  4. tom says:


    Can we add additional fields of information to the log?  Like, Resolution State?  Recipients who have received this notification?  That would make this very valuable as an auditing point.  Where and How can we add additional fields?  I am at a loss as to how SCOM 2012 pulls SMTP outgoing mail for notifications and there is now internal log (within SCOM) to verify who has received notifications.  Thanks in advance.

  5. james says:

    what am I missing?  I want to create a test subscription to notify ONLY when a specific event occurs in a log.  However, when I create the Subscription, there seems (to me) to be no way to remove the line "Notify on all alerts" from the Subscription Criteria… am I missing something?

  6. bouncer says:

    I have been trying to raise notification via Command channel using powershell script in SCOM 2012

    we currently have this working in SCOM2007 at the moment a simple script

    get-date >> C:TempSimpleTest.txt

    will run interactively on my servers  but once I feed it in to command notification channel fails with not trace in the logs I see the script launch by Opsmgr but not complete , nor record of its failure ?

  7. jaromir1 says:

    be carefull you are unable to run any scruipt until you enable them in powershell. try this:

    Set-ExecutionPolicy remotesigned

  8. Ben says:

    Do you perhaps have a script to send out sms's with a modem?

Comments are closed.

Skip to main content