Effective December 3, NetApp adopts Microsoft’s Business-to-Customer (B2C) identity management to simplify and provide secure access to NetApp resources.
For accounts that did not pre-register (prior to Dec 3), access to your NetApp data may take up to 1 hour as your legacy NSS ID is synchronized to the new B2C identity.
To learn more, read the FAQ and watch the video.
Need assistance? Complete this form and select “Registration Issue” as the Feedback Category.

Active IQ Unified Manager Discussions

Modify Email Alerts OCUM 7

Vikramjeet_Singh

We are looking to modify email alert send through OCUM when volume is full

 

We need to edit email body to our needs i.e. add couple of line to the email body

 

I have looked into some forums but I am bit confused.

 

Can you please help...where shall I start from?

 

I know that we can write a powershell script and add that to each and every alert on OCUM

 

I dont know how to modify email alert through powershell scripts Smiley Sad 

 

Can you please advice!!!

1 REPLY 1

mbeattie

Hi Vikramjeet,

 

Here is an "example" for you that you can modify to meet your requirements. You would need to:

 

  • Update the variables "$to", "$from" and "$smtpServer" to the relevent values in your infrastructure
  • Add any additional lines you require to the $body variable
  • Format the CSS and HTML to meet your requirements

 

Please let me know if you have any questions.

 

#'------------------------------------------------------------------------------
#'Initialization Section. Define Global Variables.
#'------------------------------------------------------------------------------
[String]$hostname       = $env:computername
[HashTable]$event       = @{}
[HashTable]$eventArgs   = @{}
[String]$to             = ""
[String]$from           = "" 
[String]$smtpserver     = ""
#'------------------------------------------------------------------------------
#'Add the OCUM event arguments to hashtable.
#'------------------------------------------------------------------------------
For($i = 0; $i -le $Args.Count -1; $i++){
   If($Args[$i] -is [String]){
      If($Args[$i].StartsWith("-")){
         [String]$key = $Args[$i] -Replace("-", "")
         If(-Not($event.ContainsKey($key))){
            [HashTable]$event.Add($key, $Args[$i + 1])
         }
      }
   }
}
#'------------------------------------------------------------------------------
#'Add the OCUM event "eventArgs" to a hashtable if it contains sub arguments.
#'------------------------------------------------------------------------------
[String]$arguments     = $event["eventArgs"]
[Bool]$isEventArgsNull = $True
If(($arguments -ne $Null) -And ($arguments.Contains("="))){
   [Bool]$isEventArgsNull = $False
   [Array]$elements = $arguments.Split(" ")
   ForEach($element In $elements){
      $key   = $element.Split("=")[0]
      $value = $element.Split("=")[1]
      If(-Not($eventArgs.ContainsKey($key))){
         [HashTable]$eventArgs.Add($key, $value)
      }
   }
}
#'------------------------------------------------------------------------------
#'Exit processing if the OCUM event state is not new (Exit if resolved or obselete).
#'------------------------------------------------------------------------------
[Int]$eventId       = $event["eventID"]
[String]$eventState = $event["eventState"]
If(-Not($eventState -eq "new")){
   Exit 0
}
#'------------------------------------------------------------------------------
#'Set the HTML body and CSS for style formatting.
#'------------------------------------------------------------------------------
$body  = "<html><head><title></title><style type=""text/css"">.Title {background: #0077D4;color: #FFFFFF;text-align:center;font-weight:bold;}</style></head><body>"
$body += "<h2>OCUM Event</h2>"
$body += "<table><tr class='Title'><td>Event Property Name</td><td>Event Property Value</td></tr>"
ForEach($key In $event.Keys){
   Do{
      If($key -eq "eventArgs"){
         Break;
      }
      $body += $("<tr><td>" + $key + "</td><td>" + $event[$key] + "</td></tr>")
   }Until($True)
 
}
If(-Not($isEventArgsNull)){
   ForEach($key In $eventArgs.Keys){
      $body += $("<tr><td>" + $key + "</td><td>" + $eventArgs[$key] + "</td></tr>") 
   }
}
$body += "</table></body></html>"
$body += "<p>Script run from ""$hostName"""
#'------------------------------------------------------------------------------
#'Send the OCUM event as a HTML email (only for volume full or volume nearly full events).
#'------------------------------------------------------------------------------
If(-Not($isEventArgsNull)){
   If(($eventArgs.ContainsKey("volNearlyFull")) -Or ($eventArgs.ContainsKey("volFull"))){
   Try{
      Send-MailMessage -to $to -from $from -Subject "OCUM Event`: $eventId" -SmtpServer $smtpserver -Body $body -BodyAsHtml -ErrorAction Stop
   }Catch{
      Exit -1
   }
}
} #'------------------------------------------------------------------------------

Hope that helps

 

/Matt

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public