Bonjour,

je cherche à faire un script qui se connecte à un switch, envoie une commande, récupère le résultat et le traite afin d'en ressortir certaines infos.
Je suis sous windows, avec perl v5.16

Pour l'instant, mon script utilise le module Net::Telnet::Cisco, se connecte au switch, et lance la commande suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
show interfaces | include Ethernet.*line protocol is
Ce qui me retourne un résultat du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
FastEthernet0/1 is down, line protocol is down (notconnect)
FastEthernet0/2 is down, line protocol is down (notconnect)
FastEthernet0/3 is up, line protocol is up (connected)
FastEthernet0/4 is down, line protocol is down (notconnect)
FastEthernet0/5 is up, line protocol is up (connected)
FastEthernet0/6 is down, line protocol is down (notconnect)
FastEthernet0/7 is up, line protocol is up (connected)
FastEthernet0/8 is down, line protocol is down (notconnect)
FastEthernet0/9 is down, line protocol is down (notconnect)
FastEthernet0/10 is down, line protocol is down (notconnect)
FastEthernet0/11 is up, line protocol is up (connected)
Maintenant, ce que je souhaiterai faire, c'est lire ce résultat ligne par ligne, et remonter une alerte (un simple printf avec le nom de l'interface) si quelque part il y a un état err-disabled ou une interface qui est connected mais down. Ce genre de chose.

J'ai un peu parcouru ce topic qui semble faire exactement ce que je souhaite. Ca m'a bien aidé pour la connexion mais la méthode pour lire et traiter le résultat m'échappe complétement.

J'espère ne pas vous avoir perdu en route, je reste à disposition pour plus d'information.

Merci d'avance =)