Runtime scripts that you use in Operations Manager can create events, which are added to the Operations Manager Event log. These events can provide information about the occurrence of anticipated script errors—for example, if a script is called with an incorrect number of arguments. Creating events is often useful when testing and debugging new scripts or Management Packs.

To view the events created by a runtime script, you can use the Event Viewer Administrative Tool provided with Windows Server 2003.

To create an event in a script, call the MOMScriptAPI.LogScriptEvent method, which allows you to define the name of the script, the event ID, the severity of the event, and a description of the event.


The following script, written in VBScript, pings a target computer and submits the computer name and ping response time (in milliseconds) as performance data to the Operations Manager database. The script adds two events to the event log: an information event that occurs if the script is incorrectly called without a required argument, and a warning event that occurs if the specified computer cannot be reached.

  Copy Code
Option Explicit

Dim oArgs
Set oArgs = WScript.Arguments
' Arg 0 is the FQDN of the computer to ping.

Dim oAPI, oBag
Set oAPI = CreateObject("MOM.ScriptAPI")

if oArgs.Count < 1 Then
	' Create an information event if the script is called without
	' the required argument.
	Call oAPI.LogScriptEvent("PingTarget.vbs",101,0,"PingTarget was called without any arguments and was not executed.")
	Wscript.Quit -1
End If

Dim targetComputer
targetComputer = oArgs(0)

Dim objPing, objStatus, timeToPing
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
	ExecQuery("select * from Win32_PingStatus where address = '"_
		& targetComputer & "'")
For Each objStatus in objPing
	If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then 
		' Create a warning event if the specified computer cannot be reached.
		Call oAPI.LogScriptEvent("PingTarget.vbs",101,2,"The target: " & targetComputer & " was not reachable.")
		Wscript.Quit -1
	End If
	timeToPing = objStatus.ResponseTime

Set oBag = oAPI.CreatePropertyBag()
Call oBag.AddValue(targetComputer, timeToPing)
Call oAPI.Return(oBag)

See Also

Send comments about this topic to Microsoft.