I was the person who asked you for the remote scripting funcionality.
I got a problem building the scripts i need, and i want to ask you some questions.
The main goal is to run severals pings inside a cisco device to test the local reachabilty. All these ip address are inside the file hosts.txt i built. This file has the format "<name> <ipaddress>".
This is the script i can run inside my local machine:
$p = Net::Ping->new(icmp);
print "@HOSTS_wrds \n" if not $p->ping(@HOSTS_wrds,1);
$p->close();
}
close HOSTS;
print "\nTerminado el Barrido \n";
}
When i tried to run inside the PAC, i got several errors, i dont understand.
So i needed to switch back to my old SecureCRT where i run this other vb script:
(as you can see, i added some extra functions to the Perl one.)
Sub Main
' Definicion de Ficheros
Const HOSTS_FILE_PATH = "D:\hosts.txt"
Const RESULT_FILE_PATH = "D:\Result.txt"
' Dimensionamiento de Variables
Dim Hosts_fso
Set Hosts_fso = CreateObject("Scripting.FileSystemObject")
Dim Result_fso
Set Result_fso = CreateObject("Scripting.FileSystemObject")
' Apertuura de Ficheros
Dim Hosts_file
Set Hosts_file = Hosts_fso.OpenTextFile(HOSTS_FILE_PATH)
Dim Result_file
Set Result_file = Result_fso.OpenTextFile(RESULT_FILE_PATH,2,True)
Dim ip
Dim name
Dim line
While Not Hosts_file.AtEndOfStream
line = Hosts_file.ReadLine
name = Split(line, " ")(0)
ip = Split(line, " ")(1)
' Connect
crt.Screen.Synchronous = True
' Ping a un equipo
crt.Screen.WaitForString "<name>#"
crt.Screen.Send "ping vrf VPN_GESTION " & ip & " repeat 3" & vbCr
' Análisis de resultado y escritura
icmp_result = crt.Screen.WaitForStrings ("rate is 33","rate is 66", "rate is 0","rate is 100")
Select Case icmp_result
Case 1,2
Result_file.Write name & " " & ip & " Partial-Ok" & vbcrlf
Case 3
Result_file.Write name & " " & ip & " NOk" & vbcrlf
Case 4
Result_file.Write name & " " & ip & " Ok" & vbcrlf
End Select
Wend
Hosts_file.Close
Result_file.Close
End Sub
Could you help me to get the goal i wanted to reach?
I would love to migrate the vbscript to Perl, but working inside the PAC.
Regards,
David
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi David,
I was the person who asked you for the remote scripting funcionality.
I got a problem building the scripts i need, and i want to ask you some questions.
The main goal is to run severals pings inside a cisco device to test the local reachabilty. All these ip address are inside the file hosts.txt i built. This file has the format "<name> <ipaddress>".
This is the script i can run inside my local machine:
#!/usr/bin/perl
use Net::Ping;
for (;;) {
sleep 3;
system('clear');
open (HOSTS, "hosts.txt");
while($HOSTS_ln = <HOSTS>){
chop($HOSTS_ln);
@HOSTS_wrds = split(/ /, $HOSTS_ln);
# print "\nNueva Linea : @HOSTS_wrds\n";
# print "mnemonico : @HOSTS_wrds\n";
# print "dirip. : @HOSTS_wrds\n";
$p = Net::Ping->new(icmp);
print "@HOSTS_wrds \n" if not $p->ping(@HOSTS_wrds,1);
$p->close();
}
close HOSTS;
print "\nTerminado el Barrido \n";
}
When i tried to run inside the PAC, i got several errors, i dont understand.
So i needed to switch back to my old SecureCRT where i run this other vb script:
(as you can see, i added some extra functions to the Perl one.)
Sub Main
' Definicion de Ficheros
Const HOSTS_FILE_PATH = "D:\hosts.txt"
Const RESULT_FILE_PATH = "D:\Result.txt"
' Dimensionamiento de Variables
Dim Hosts_fso
Set Hosts_fso = CreateObject("Scripting.FileSystemObject")
Dim Result_fso
Set Result_fso = CreateObject("Scripting.FileSystemObject")
' Apertuura de Ficheros
Dim Hosts_file
Set Hosts_file = Hosts_fso.OpenTextFile(HOSTS_FILE_PATH)
Dim Result_file
Set Result_file = Result_fso.OpenTextFile(RESULT_FILE_PATH,2,True)
Dim ip
Dim name
Dim line
While Not Hosts_file.AtEndOfStream
line = Hosts_file.ReadLine
name = Split(line, " ")(0)
ip = Split(line, " ")(1)
' Connect
crt.Screen.Synchronous = True
' Ping a un equipo
crt.Screen.WaitForString "<name>#"
crt.Screen.Send "ping vrf VPN_GESTION " & ip & " repeat 3" & vbCr
' Análisis de resultado y escritura
icmp_result = crt.Screen.WaitForStrings ("rate is 33","rate is 66", "rate is 0","rate is 100")
Select Case icmp_result
Case 1,2
Result_file.Write name & " " & ip & " Partial-Ok" & vbcrlf
Case 3
Result_file.Write name & " " & ip & " NOk" & vbcrlf
Case 4
Result_file.Write name & " " & ip & " Ok" & vbcrlf
End Select
Wend
Hosts_file.Close
Result_file.Close
End Sub
Could you help me to get the goal i wanted to reach?
I would love to migrate the vbscript to Perl, but working inside the PAC.
Regards,
David