Dear Dell,
Using the external command functionality included in Dell OpenManage Essentials (Alert Application Launch) is there a way to pass the multi-line string arguments as variables?
As unfortunately some of the alerts that are generated are contained in strings that span across multiple lines (\n \r characters).
As a result of this when passing these arguments to an external command the majority of the contents of the string are lost as it is contained on the next line e.g. output of $m for a redundancy lost alert:
"Redundancy lost
Redundancy unit: System Board PS Redundancy
Chassis location: Main System Chassis
Previous redundancy state was: Normal"
As a result the above when passed as an argument will only provide "Redundancy lost" and not provide information for the rest of the alert.
Is there a hotfix available to only parse the string contained in $m as a single-line instead of multi-line so that it can be passed as a variable via an external command?
As unfortunately the standard windows shell does not handle new lines (LF, etc) without using '^' character and since the result is already parsed it is unable to be escaped.
The only possible workaround is to pass all of the arguments to a text file to be read.
Unfortunately this method can cause possible race condition issues when alerts are received on the exact same interval. Which would then require another command to run on a different schedule to then read the contents line by line.
I'm surprised the $m argument does not already facilitate to trim all '\n\r' characters from the alerts parsed in order for them to be passed as arguments via the command-line. Looking forward to a hotfix or patch to make this task easier.
Keep up the great work Image may be NSFW.
Clik here to view.
Looking forward to a solution.