use Net::Telnet::Cisco;
#use strict;
#use warnings;
#use diagnostics;
#use threads;
my %users =("1" => "admin",
"2" => "admin",
"3" => "admin",
"4" => "admin",
"5" => "admin",
"6" => "none",
"7" => "admin",
"8" => "admin",
"9" => "admin",
"10" => "admin",
);
my %pwds = ("1" => "admin",
"2" => "admin",
"3" => "admin",
"4" => "admin",
"5" => "admin",
"6" =>"s0m3th1ng",
"7" => "admin",
"8" => "admin", # not connected
"9" => "admin",
"10" => "admin",
);
for ( $i = 1; $i<=10; $i++){
$device = "172.16.$i.251";
if ( $users{$i} eq "none" )
{
my $curpwd = $pwds{$i};
my $session = Net::Telnet::Cisco->new(Host => "$device",
Input_log => "perllogrouter/ro
+uter$i.log",
);
eval { $session->login(Password => $curpwd);};
if ($@)
{
print "Error: $@\n";
}
else {
if ($session->enable("$curpwd"))
{
# Execute a command
@output = $session->cmd ('show running-config | section ho
+stname');
print "@output\n";
print " ==================================================
+====\n";
}
$session->close;
}
}
else
{
my $session = Net::Telnet::Cisco->new(Host => "$device",
Input_log => "perllogrouter/ro
+uter$i.log",
);
eval {$session->login($users{$i}, $pwds{$i});};
if ($@)
{
print "Error: $@\n";
}
else {
# Execute a command
@output = $session->cmd ('show running-config | section ho
+stname');
print "@output\n";
print " ==================================================
+====\n";
}
}
}
I have note that if i have bad or wrong password the script continue but if i have Router that is not alive the script not continue it ends there ... |