El programa le permite monitorear los resultados de una función de Visual Basic Script (VBScript).
Por analogía con la comprobación "External Application", las comprobaciones "VBScript" y "Java-script" permiten al usuario crear pruebas personalizadas y específicas en estos lenguajes. En la configuración de estas comprobaciones, escriba el código fuente del script de prueba e indique qué función es la principal (ejecutable). Para un resultado positivo, el script de prueba siempre debe devolver el valor de cadena "OK". Si el script de prueba devuelve un valor distinto, la comprobación se considera fallida y la aplicación emite una alerta. Se recomienda verificar el funcionamiento de los scripts de prueba con los medios estándar del sistema operativo antes de configurar las comprobaciones.
Las comprobaciones "VBScript" y "Java-Script" amplían significativamente las capacidades de monitoreo de red y de hardware de red de la aplicación.

Ejemplos útiles de VB Script para monitoreo
1. Obtener el tamaño de una carpeta incluyendo todas las subcarpetas
2. Comprobar las fechas de los archivos en una carpeta (útil para monitorear grabaciones CCTV en un servidor de archivos)
3. Obtener el uso de RAM en porcentaje
4. Obtener el uso promedio de todos los discos duros en porcentaje
5. Ejecutar una solicitud GET o POST (mediante HTTP)
1. Obtener el tamaño de una carpeta incluyendo todas las subcarpetas
function Main
'Specify the folder path here:
Main = GetFolderSize("C:\\Logs\\")
'Use \\ instead of \ in the pathend function
Function GetFolderSize(Path)
Dim fso, fsize
Dim ctFolder, cFile, cFolder
Set fso=CreateObject("Scripting.FileSystemObject")
fsize = 0
Set ctFolder = fso.GetFolder(Path)
On Error Resume Next
For Each cFile In ctFolder.Files
fsize = fsize + cFile.Size
Next
For Each cFolder In ctFolder.SubFolders
fsize = fsize + GetFolderSize(cFolder.Path)
Next
GetFolderSize = fsize
End Function
2. Comprobar las fechas de los archivos en una carpeta. Si todos los archivos tienen la fecha actual, se devuelve 1; de lo contrario, 0. Puede indicar una carpeta de red en lugar de una ruta local.
function Main
Dim fso, fsize
Dim ctFolder, cFile, AR, sdate, sdate2, sdate3
Set fso = CreateObject("Scripting.FileSystemObject")'Specify the folder path here:
Set ctFolder = fso.GetFolder("C:\\Logs\\")
'Use \\ instead of \ in the pathAR = 1
sdate = CStr(Day(Date) & "." & Month(Date) & "." & Year(Date))
For Each cFile In ctFolder.Files
sdate2 = CStr(cFile.datelastmodified)
sdate3 = CStr(Day(sdate2) & "." & Month(sdate2) & "." & Year(sdate2))
If sdate <> sdate3 Then AR = 0
Next
Main=AR
End Function
3. Obtener el uso de RAM en porcentaje. En lugar de la clave %A, el programa sustituirá automáticamente la dirección del host de los parámetros de la comprobación. El script usa una consulta WMI; puede ejecutar otras consultas basándose en este ejemplo.
function Main
strHostAddr = "%A"
strLogin = ""
strPassword = ""
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strHostAddr, "root\cimv2", strLogin, strPassword)
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem",,48)
For Each objItem in colItems
Main = Int((int(objItem.TotalVisibleMemorySize) - int(objItem.FreePhysicalMemory))/int(objItem.TotalVisibleMemorySize)*100)
Next
end function
4. Obtener el uso promedio de todos los discos duros en porcentaje
function Main
strHostAddr = "%A"
strLogin = ""
strPassword = ""
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strHostAddr, "root\cimv2", strLogin, strPassword)
Set colItems = objWMIService.ExecQuery("SELECT PercentIdleTime FROM Win32_PerfFormattedData_PerfDisk_PhysicalDisk where Name='_Total'",,48)
For Each objItem in colItems
Main = 100 - (int(objItem.PercentIdleTime))
Next
end function
5. Ejecutar una solicitud GET o POST (mediante HTTP). Puede usarlo como acción en respuesta a una alerta fallida.
function Main
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "https://send.cpsms.dk/sendsms?to:79991234567?from:79991234567?msg:test", False
o.send
Main = ""
end function
6. Enviar un mensaje a Slack mediante una URL de webhook (usando el ejemplo de solicitud POST)
function Main
Dim request
Set request = CreateObject("MSXML2.XMLHTTP")
request.open "POST", "https://hooks.slack.com/services/AJHGK45J4/FTS5NFG73/UDz30ftMMzinOgFxhTx2zBBB", false
request.send "{""text"": ""It is a test! ""}"
Main = ""
end function
Para agregar esta comprobación, seleccione un host, haga clic en "Add check" y busque el nombre de la comprobación de monitoreo en la ventana del asistente.

Configure los parámetros de la comprobación en la ventana mostrada. Puede modificarlos más adelante con el elemento de menú "Edit Check...". Obtenga más información sobre cómo configurar las alertas y otras opciones de la comprobación aquí.
Requisitos: Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022 compatible.