Automatisation sauvegardes de switch.
Bonjour.
J'ai un travail qui consiste à récupérer de façon automatisée les fichiers de config des switch cisco.
Pour se faire, j'ai fait un batch qui appelle du vbs.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| @echo off
rem ///// Lignes à adapter en fonction du materiel
set boxip=192.168.104.253
set password=toto
set command1=en
set command2=toto
set command3=copy startup-config tftp
rem ///// @ serv tftp
set command4=192.168.104.155
set command5=
set command6=
set command7=quit
rem ///// Creation du script VBS pour connexion automatique
echo set sh=WScript.CreateObject("WScript.Shell")>>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
echo sh.SendKeys "%password%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
rem ///// Lancement des commandes Telnet
echo sh.SendKeys "%command1%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
echo sh.SendKeys "%command2%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
echo sh.SendKeys "%command3%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
echo sh.SendKeys "%command4%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
echo sh.SendKeys "%command5%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
echo sh.SendKeys "%command6%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
echo sh.SendKeys "%command7%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs
rem ///// Lancement de la session Telnet sur le switch/routeur cisco
start /realtime telnet.exe %boxip%
cscript //nologo telnet.vbs
del /q telnet.vbs
echo %boxip% >> log.txt
if exist "C:\tftp\*-confg" echo Sauvegarde OK! >> log.txt
if not exist "C:\tftp\*-confg" echo ////////////// Problème sauvegarde! \\\\\\\\\\\\\\ >> log.txt
echo. >> log.txt
echo. >> log.txt |
Jusque là ça marche niquel... pour un switch.
Le problème est que ce script doit s'exécuter pour plusieurs switch (une 50ène).
J'ai bien évidemment pensé à mettre toutes les ip dans un .txt mais sauf erreur (probable) de ma part, un batch ne peut lire les différentes lignes d'un fichier.
Ce qui est sûr c'est qu'un script vbs le peut.
Le peu de connaissances (et idées) que j'ai dans le domaine s'arrêtent là.
A noter que le batch en question doit être sélectionné pour que le telnet.vbs puisse saisir dans le batch.
Si quelqu'un à une petite idée pour que le "boxip" prenne la valeur d'une ligne d'un fichier texte, je suis pas contre. Merci d'avance.