|
#1
|
|||
|
|||
Script to execute a command based on ping result
Hi,
I'm new here and I have no experience with programming. I'm trying to create my first script to be used with switch/routers. This script should connect to the device (router/switch), ping an IP address and depending on the result/reply, it execute a command. Example: > If ping fails (100% packet loss) = execute command "Y" (in the script, it sends a command to "reset slot 5"). > If ping is successful (0% packet loss) = execute command "X" and exit. For now, I tried this script below. It worked when the ping fails. When the string "100% packet loss" is matched, it executes the reset. I suppose I have to make a IF/THEN condition to first to check the ping result and then it decides to run command X or command Y. How can I implement that? Code:
#$language = "VBScript" #$interface = "1.0" crt.Screen.Synchronous = True Sub Main crt.Screen.WaitForString "name:" crt.Screen.Send "username" & vbcr crt.Screen.WaitForString "password:" crt.Screen.Send "password" & vbcr crt.Screen.WaitForString ">" crt.Screen.Send "enable" & vbcr crt.Screen.WaitForString "#" crt.Screen.Send "show date" & vbcr crt.Screen.WaitForString "#" crt.Screen.Send "ping 10.0.0.1" & vbcr crt.Screen.WaitForString "100% packet loss" crt.Screen.WaitForString "#" crt.Screen.Send "reset slot 5" & vbcr crt.Screen.WaitForString "confirm (y) or (n)" crt.Screen.Send "y" & vbcr crt.Screen.WaitForString "#" crt.Screen.Send "show date" & vbcr End Sub Thanks Last edited by cboyack; 09-01-2020 at 11:19 AM. Reason: Please use [CODE] and [/CODE] tags to denote code |
#2
|
|||
|
|||
Hi Knightmare,
You would want to use ReadString() instead of WaitForString() following sending the ping command so you actually capture the output so you can check it for the expected phrase. Code:
crt.Screen.Send "ping 10.0.0.1" & vbcr strResult = crt.Screen.ReadString("#") If InStr(strResult, "100% packet loss") Then ' Run Command X Else ' Run Command Y End If
__________________
Thanks, --Brenda VanDyke Software Technical Support support@vandyke.com (505) 332-5730 Last edited by bgagnon; 09-01-2020 at 11:46 AM. Reason: Added additional info |
#3
|
|||
|
|||
Thank you very much Brenda.
It worked perfectly ! Best regards |
#4
|
|||
|
|||
Hi knightmare,
You are quite welcome. I am glad to hear it worked well for you. ![]()
__________________
Thanks, --Brenda VanDyke Software Technical Support support@vandyke.com (505) 332-5730 |
![]() |
Tags |
ping , result |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | Rate This Thread |
|
|