martes, 16 de febrero de 2010

Curso Script SecureCrt - Monitorización y Gestión de Equipos Cisco y Teldat mediante Scripts - Parte 1

En esta primera entrega trataremos conceptos generales de Scripting bajo SecureCrt. En primer lugar, comentar que este curso supone conocimiento de equipos Cisco y Teldat, y no profundiza en el significado de los comandos de dichos equipos. Del mismo modo se entienden conocimientos básicos de programación en Visual Basic, y al decir básicos me refiero a que se explicará por ejemplo cómo declarar un objeto tipo hoja de Excel desde un script, pero no se explicará qué es una variable o cómo usar una estructura de control tipo FOR. Si hay demanda sobre ello (para lo cual, por supuesto, antes alguien tendrá que leer este blog), se realizarán cursos o manuales al respecto.

Comencemos.

Para quien no lo conozca, SecureCRT es uno de los mejores clientes Telnet/SSH modo texto del mercado, con el hecho de ser de pago como única lacra reseñable. Muchos administradores de equipos lo utilizan, o tienen acceso a él, por lo que es una buena herramienta sobre la que realizar scripting.

Como añadido, este programa implementa un motor de scripts y exporta una serie de objetos para facilitarnos el trabajo. El programa admite los lenguajes Perl, JavaScript y VisualBasicScript.

En este Blog se tratarán los Scripts SIEMPRE bajo VbScript, aunque tanto los conceptos generales como los objetos exportados por SecureCRT son comunes a los tres lenguajes.

Y ahora es cuando todo un ejército AntiWindows, AntiMicrosoft, y todo aquel convencido de que Bill Gates es el mismisimo anticristo, se alza y se encandaliza por elegir Visual Basic antes que Perl o JavaScript.

Vayamos por partes. Perl gusta a ciertos puristas de Linux, pero ellos mismos reconocen de forma implicita lo engorroso que es al estar migrando a Phyton para hacer las mismas cosas. JavaScript está muy bien, pero no olvidemos que la santa Sun Microsystem ha sido adquirida por la muy avara Oracle, que es a Bases de Datos lo que Microsoft a Sistemas Operativos, por lo que Sun también se ha demonizado, o lo hará en breve. Y, lo que me parece con mucho lo más importante: a lo largo del presente curso se tratarán llamadas hacia y desde Access y Excel, y al usar un lenguaje script de Microsoft nos evitamos muchos problemas en los cruces de datos.

De este modo, para crear un Script de tipo VB no tenemos más que crear un fichero de texto plano con Notepad y guardarlo con extensión *.vbs . Para ejecutarlo, lo haremos pulsando desde SecureCRT el menú "Script" - "Run" y eligiendo el fichero creado.

Es tradición utilizar el típico "HelloWorld" como primer código de ejemplo en un curso o manual de programación, desde que Ritchie y Kernighan lo utilizaran en la introducción a su famosisimo lenguaje C . Asi que comenzaremos igual:

- Abrir Notepad en blanco

- Copiar el código:

#$language = "VBScript"


#$interface = "1.0"


Sub Main


MsgBox "HelloWorld"


End Sub


- Guardar el fichero con extensión *.vbs

- Desde SecureCRT, menú "Script" - "Run" y elegir el fichero que acabamos de guardar.

Algo tan simple como esto es el primer paso dentro de un vía de trabajo muy potente. En posteriores partes del curso, comprobaremos como ordenar la ejecución de un script desde Access o Excel pasandole parametros, o al reves, como volcar datos leidos de equipos a ficheros de Office. Veremos que podemos descargar la configuración de nuestros equipos de forma automatica, o monitorizar sus interfaces. Y por supuesto, aunque yo enfoque esto a equipos Cisco y Teldat, porque es lo que más uso, podrá aplicarse a cualquier máquina administrada (como equipos Unix) sólo modificando parcialemnte el código.

Quisiera cerrar esta primera entrega con unas consideraciones generales sobre el lenguaje VbScript, adecuadas sobre todo a quien haya programado en Visual Basic o Visual Basic for Aplications:

- VBScript es, valga la redundancia, un lenguaje script, es decir, es por definición menos potente que sus "hermanos mayores"

- No se requiere la declaración de variables, ni se permite la declaración de tipos de variable; esto implica que todas se declaran de forma obligad como tipo Variant. Todo programador con cierta experiencia sabe que esto es una locura y puede dar múltiples problemas, pero puede arreglarse gracias a que, aunque no se permite la declaración de tipos, sí se permite el forzado con funciones como CInt() o CStr().

- La mayoría de funciones se implementan como en VB 6.0, no como .NET

- No se permite el uso de módulos, pero puede simularse (ya se explicará).

- No se permite la declaración o llamada a API's, aunque puede simularse (ya se explicará).

- VBScript es más un lenguaje estructurado que orientado a eventos, con el cambio de enfoque que eso conlleva.

Con esto concluye el primer acercamiento a la programación de Scripts para SecureCRT. En la próxima entrega veremos los objetos que SecureCRT nos ofrece y una pequeña aplicación para realizar Ping a una lista de equipos almacenados en BBDD y volcar a fichero aquellos que no respondan.


Hasta la proxima!!!

4 comentarios:

  1. Hola, hay más datos de este curso. Actualmente me encuentro actualizando muchos equipos mediante securecrt, si bien tengo los comandos en crudo quiero hacer un script con estos para simplemente ejecutar el script y así reducir el tiempo de ejecución. Gracias por la información por cierto.

    ResponderEliminar
  2. Pablo, podrias ayudarme con algo, tengo una lista de comandos para enviar a un equipo, esta lista la tengo en un archivo texto, quiero usar un script para leer este archivo y que ejecute los comandos del archivo sobre el equipo, por favor cualquier respuesta a isanan66@gmail.com

    ResponderEliminar
  3. Pablo, podrias ayudarme con algo, tengo una lista de comandos para enviar a un equipo, esta lista la tengo en un archivo texto, quiero usar un script para leer este archivo y que ejecute los comandos del archivo sobre el equipo, por favor cualquier respuesta a isanan@hotmail.com

    ResponderEliminar