Developing and testing MOM scripts sometimes can be tricky, because you can’t simply cut and paste VBS which works with scripting host to MOM. Let me share how I develop and test scripts.
My typical project folder looks like this:
Each MOM script consists of main VBS module, which has the same name as a script, Scripting Host project file (WSF), CMD, which combines all scripts together into .MOM file. After that you just simply copy and paste MOM file to your MOM Administrators console.
"Lib" folder is a library, where we can see two scripts – one of them is some data provider script, the other one (mom.vbs) is a standard library, which contains all mom-specific functions. Let’s take a look on its’ fragment:
Option Explicit 'NON-MOM
Public Sub CreateEvent(iEventID, iEventType, sMessage, sCategory)
'MOM On Error Resume Next
' Create a new event
'MOM Set oNewEvent = ScriptContext.CreateEvent()
' Set event properties
'MOM oNewEvent.Message = sMessage
'MOM oNewEvent.EventNumber = iEventID
'MOM oNewEvent.EventType = iEventType
'MOM oNewEvent.Category = sCategory
' Submit the event
'MOM ScriptContext.Submit oNewEvent
wscript.echo "EventID: " & iEventID & ", Message: " & sMessage 'NON-MOM
Set oNewEvent = Nothing
As you could notice, I use comments with some value to distinguish MOM lines from non-MOM lines. I use parser (Toolkit\parse.vbs), which ignores all ‘NON-MOM lines and uncomments all ‘MOM lines.
That’s it! Now all my scripts being tested and work in MOM right after I tested them in Scripting Host!
You can download example.zip and try my technique.