Active IQ Unified Manger fails to run alert scripts on object names containing an ampersand
Applies to
- OnCommand Unified Manager 9.5P1 ( UM )
- Active IQ Unified Manager 9.6P1( AIQUM )
- Active IQ Unified Manager 9.7P1 ( AIQUM )
NOTE: May exist in other versions of Unified Manager.
Issue
If you find that your custom scripts are not getting executed and the object in question has an ampersand in the object name then you might be encountering this issue. Below is the output of ocum-script.log
showing a failure to execute on a "Qtree Space Nearly Full" event.
2020-11-03 03:50:47 [DEBUG] [default task-5] [ScriptPlugin:30] - Processing the rest request for script plugin. Event ID : 12
2020-11-03 03:50:48 [INFO ] [ScriptExecutor-7] [AlertScriptService:259] - Detecting command for file : testBP.ps1
2020-11-03 03:50:48 [DEBUG] [ScriptExecutor-7] [AlertScriptService:179] - ------ Script Arguments BEGIN------
2020-11-03 03:50:48 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = Qtree Space Nearly Full, out string = Qtree Space Nearly Full
2020-11-03 03:50:48 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = svm1:/testvol/test&qtree, out string = svm1:`/testvol`/test&qtree
2020-11-03 03:50:48 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 0, out string = 0
2020-11-03 03:50:48 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 1, out string = 1
2020-11-03 03:50:48 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 1992296, out string = 1992296
2020-11-03 03:50:48 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 0, out string = 0
2020-11-03 03:50:48 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 0.0, out string = 0`.0
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AlertScriptService:186] - -eventID : 12
-eventName : Qtree Space Nearly Full
-eventSeverity : warning
-eventSourceID : 785
-eventSourceName : svm1:`/testvol`/test&qtree
-eventSourceType : QTREE
-eventState : NEW
-eventArgs : qtreeSpaceNearlyFullThreshold=0,qtreeSpaceFullThreshold=1,diskKbytesLimit=1992296,diskKbytesUsed=0,diskKbytesUsedPercent=0`.0
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = Qtree Space Nearly Full, out string = Qtree Space Nearly Full
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = svm1:/testvol/test&qtree, out string = svm1:`/testvol`/test&qtree
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 0, out string = 0
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 1, out string = 1
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 1992296, out string = 1992296
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 0, out string = 0
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AlertScriptService:236] - Escaped String: in string = 0.0, out string = 0`.0
2020-11-03 03:50:50 [DEBUG] [ScriptExecutor-7] [AuthenticationUtils:73] - Successfully logged in for script execution.
2020-11-03 03:50:51 [INFO ] [ScriptExecutor-7] [AlertScriptService:108] - Script execution of file : testBP.ps1 for EventID : 12 in progress..
At line:1 char:183
+ ... ing -eventSourceID 785 -eventSourceName svm1:`/testvol`/test&qtree -e ...
+ ~
The ampersand (&) character is not allowed. The & operator is reserved for
future use; wrap an ampersand in double quotation marks ("&") to pass it as
part of a string.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordEx
ception
+ FullyQualifiedErrorId : AmpersandNotAllowed
In this example we are testing a Qtree. PowerShell is not able to handle the ampersand. From our testing we know that this issue can occur for both Qtrees and CIFS shares, however, this issue might exist for other objects.