I am wanting to be able to right click on a device or sensor, then select tools and then be able to choose a script to run against that selected device or sensor. I have a test script written and it works while not going through PRTG (it just pings the device) but I cannot get PRTG to run the script from the tools submenu (right click) on the devices.
Article Comments
Yes I am using the PRTG WinGUI and here is the script, which now works once I put it in the right place locally, but I do not want to have to hard code the ip address, I want it as a variable that PRTG would hand off to it:
If Reachable("10.24.0.65") Then
WScript.Echo "Computer is Reachable"
Else
WScript.Echo "Computer is Unreachable!"
End If
Function Reachable(strComputer)
' On Error Resume Next
Dim wmiQuery, objWMIService, objPing, objStatus
wmiQuery = "Select * From Win32_PingStatus Where " & _
"Address = '" & strComputer & "'"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set objPing = objWMIService.ExecQuery(wmiQuery)
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) Or objStatus.Statuscode<>0 Then
Reachable = False 'if computer is unreacable, return false
Else
Reachable = True 'if computer is reachable, return true
End If
Next
End Function
What I would like to do is where the IP address is hard coded in the script:
--If Reachable("10.24.0.65") Then--
I would like to pass this information to the script from PRTG. So that I could use this tool on any device that has an ip address. This is just a test script, so that once I validate that I can grab the correct info from PRTG and use it, I will build a larger script that has some built in tools for daily maintenance and or changes.
Thanks for the help!
Jan, 2011 - Permalink
Yes, that is what I am trying to work around now, when I put that in the script I get a VB error, is there a way to pass the %host field to a vbscript? I get an invalid character error if I use %host.
Jan, 2011 - Permalink
You can't use the '%host' (or other placeholders) in the vbscript. You will have to pass it on to the script as a Parameter in the 'Tools'-Settings of the WinGUI, then you will have to 'catch' this parameter inside the vbscript with something like:
WScript.Arguments(0)
if it's the first parameter.
Jan, 2011 - Permalink
Torsten,
Once I put that in and had the %host in the argument line of the custom tool it worked like a charm:
dim intIpAddress
intIpAddress = wscript.arguments(0)
If Reachable(intIpAddress) Then WScript.Echo "Computer " & intIpAddress & " is Reachable"
Thanks again for your help!
Jan, 2011 - Permalink
Hello,
just to check you are referring to the PRTG WinGUI, correct? Do you get an error when you try running the script through PRTGs WinGUI? Could you please post the script here?
Best Regards.
Jan, 2011 - Permalink