Is it possible to traceroute a host, but only get error text if tracing fails?
Q: tracert.exe command always returns a bunch of text. How can I ignore it if trace finished successfully?
A: The trick is to store entire traceroute (tracert.exe) output, parse it and only return text if typical errors indicators (words) have been detected.
Please download archive traceroute-host.zip from our scripts library.
Inside, you will find file traceroute-host.txt and “readme” file with installation instructions. At the moment, we assume you have created folder C:\scripts and unpacked the mentioned file there.
After you unpack it, rename traceroute-host.txt to traceroute-host.vbs.
Now open IPHost GUI client and create Script or Program monitor. At stage 3 of monitor creation wizard, enter script location and specify command-line arguments:
Note that this script takes single argument: host name to trace. Google.com is chosen for the sake of example.
Switch to State conditions tab, and create Down state condition: it only should return zero in case of success; any other value means error (Down state):
Click on “Finish” to conclude and start the monitor. In the example above, google.com is periodically traced. Note: change hops number (in the script: parameter “-h” passed to tracert.exe, on line 11), if tracing takes more than 5 hops. Note that every hop means up to 2 additional seconds of waiting (parameter “-w” passed to tracert.exe), thus too many hops cap can cause the entire script to time out.
Note: if you wish to modify the script, use cscript utility to debug it. Open cmd.exe, and issue commands:
c: cd C:\scripts cscript //nologo traceroute-host.vbs google.com
to imitate the script behavior as in the example above. Note: use actual folder name you keep the script in.