VBSCRIPT: COPIA DE
CONFIGURACIONES A UN TFTP
Automatización
para copiar el archivo de configuración de varios switch dell ,en este caso a
un servidor tftp utilizando un script
.vbs y el Secure crt.
Como
material de referencia tome información de los siguientes enlaces:
http://foro.elhacker.net/scripting/tutorial_vbscript-t229032.0.html
http://loquehayenmedio.blogspot.com/search/label/VBScript
Para la ejecución dl script inicio sesión
en un router utilizando el secureCRT y busco el scritp previa mente guardado.
Acá dejo el
archivo el cual se edita en un archivo de texto y se guarda con la extensión
.vbs :
Básicamente explico las variables
para poder ejecutar el script, en lo enlaces anteriores esta la información de
las características de programación.
*************************************************************************
#$language =
"VBScript"
#$interface =
"1.0"
Sub Main
Const
username = "USUARIO" ' Usuario que utilizara para conectarse al
switch
Const password = "CONTRASEÑA" ' Contraseña válida
para el USUARIO
Const passenable = "CONT-ENABLE" ' Contraseña
enable de ser requerido
const yes =
"y"
Const
DEVICE_FILE_PATH = "E:\IP.TXT" 'Archivo con direccionamiento IP
Const
DEVICE_FILE_PATH2 = "E:\CONFIGURACION.TXT" 'Archivo nombres para guardar las
configuraciones.
Dim fso
Set
fso = CreateObject("Scripting.FileSystemObject") 'Creacion de objeto para el archivo IP.
Dim fso2
Set
fso2 = CreateObject("Scripting.FileSystemObject") 'Creacion de objeto
para el archivo CONFIGURACION
Dim
fil
Set
fil = fso.OpenTextFile(DEVICE_FILE_PATH) 'Variable
Dim
fil2
Set
fil2 = fso.OpenTextFile(DEVICE_FILE_PATH2)
Dim
ip ' variable para llamar la ip del switch
Dim ip2 'variable para llamar el nombre del archivo (como
va a quedare guardado en el tftp)
Dim line
Dim line2
Dim
cnxnString
While Not fil.AtEndOfStream
line
= fil.ReadLine ' forma como se leera el archivo
line2 = fil2.readline
ip = Split(line, ";")(0) 'sintaxis para llamar la ip
ip2 = Split(line2,
";")(0) 'sintaxis para llamar el nombre del archivo
cnxnString = "TELNET " & ip &
"23"
crt.Screen.Send "telnet " & ip & chr(13) 'formato para ejecutar las sentencias cli
crt.Screen.WaitForString "User:"
crt.Screen.Send username
crt.Screen.Send vbCr
crt.Screen.WaitForString
"Password:"
crt.Screen.Send password
crt.Screen.Send vbCr
crt.Screen.WaitForString
">"
crt.Screen.Send
vbCr
crt.Screen.Send
" enable" & chr(13)
crt.Screen.Send passenable
crt.Screen.Send
vbCr
crt.Screen.Send
"copy running-config startup-config" & chr(13) ´comando a enviar
crt.Screen.WaitForString
"(y/n)" 'lo que esperamos que salga
crt.Screen.Send yes 'la respuesta que damos
crt.Screen.Send vbCr 'espera para enviar el siguiente comando
crt.Screen.Send "copy
running-config backup-config" & chr(13)
crt.Screen.WaitForString "(y/n)"
crt.Screen.Send
yes
crt.Screen.Send
vbCr
crt.Screen.Send
"copy running-config tftp://192.168.5.55/" & ip2 & chr(13)
crt.Screen.WaitForString
"(y/n)"
crt.Screen.Send
yes
crt.Screen.Send
vbCr
crt.Screen.Send
"q" & chr(13)
crt.Screen.Send
vbCr
crt.Screen.WaitForString
"closed by foreign host]"
Wend
fil.Close
End Sub
*****************************************************************************
IP.TXT
192.168.1.1;
192.168.2.1;
192.168.3.1;
****************************************************************************
CONFIGURACION.TXT
SWITCH1;
SWITCH2;
SWITCH3;
*****************************************************************************