Script Action Context Code Examples

The following table lists several script action code examples that you can use to created useful script actions for your devices. To use these examples, select the text of the context and then copy and paste the code into the Script text box of the Script Action dialog.

Note: You may need to remove the copyright information from the cut and paste if it appears when you copy from this help file.



How to return the results of the script back to WhatsUp Gold.


Context.SetResult(0, "    Everything is OK"); //Success
Context.SetResult(1, "    Really big big error"); //Failure


Context.SetResult 1, "    Really big big error"

Logging a message to the WhatsUp Gold event viewer.


Context.LogMessage("This is the message");

Accessing the Device ID.


var nDeviceID = Context.GetProperty("DeviceID");

Accessing the IP address of the device.


var sAddress = Context.GetProperty("Address");

Accessing the WhatsUp Gold database.

This sample uses the device ID in context and access the 'Device' table.


// Get the Open DB connection from the Context NameSpace
var oDb = Context.GetDB;
if (null == oDb)
Context.SetResult( 1, "  Problem creating the PRO DB object");
// Get the device ID
 var nDeviceID = Context.GetProperty("DeviceID");
 // Retrieve all columns for this device.
 var sSql = "SELECT * from Device WHERE nDeviceID = " + nDeviceID;
 var oRs = oDb.Execute(sSql);
 if ( !oRs.EOF )
     // Display various columns in the debug log (Event Viewer).
     var sDisplay;
     sDisplay = "" + oRs("sDisplayName");
     Context.LogMessage("Display Name=" + sDisplay);
     sDisplay = "" + oRs("nWorstStateID");
     Context.LogMessage("WorstStateID=" + sDisplay);  
       sDisplay = "" + oRs("sNote");
     Context.LogMessage("Note=" + sDisplay);   
     sDisplay = "" + oRs("sStatus");
     Context.LogMessage("Status=" + sDisplay);
  Context.SetResult( 0, "   Ok");

Using Substitution variables in your script.


Context.NotifyProgress( "Date=%System.Date" );
Context.NotifyProgress( "Time=%System.Time" );
Context.NotifyProgress( "Names of down devices=%System.DisplayNamesDownDevices" );
Context.NotifyProgress( "Number of down devices=%System.NumberofDownDevices" );
Context.NotifyProgress( "Names of up devices=%System.DisplayNamesUpDevices" );
Context.NotifyProgress( "Number of up devices=%System.NumberofUpDevices" );