AutoTelnet 1.0.0

In seguito a varie esigenze di automazione di attività su apparati quali switch e ups o servizi vari come ad esempio SMTP o POP3 tramite il protocollo Telnet ho deciso di realizzare un’applicazione che mi consentisse in modo semplice di eseguire operazioni ben precise in maniera configurabile.

Da questa idea è nata AutoTelnet che permette tramite un’interfaccia grafica di configurare script Telnet con la possibilità di utilizzare parametri che potranno essere passati tramite riga di comando e che possono prevedere un valore di default o un’espressione.

Gli script Telnet sono salvati in file xml con estensione .ats (AutoTelnet Script)

image

Grazie ai parametri è possibile ridurre il numero di script da creare grazie al fatto che taluni comando o parte di essi possano essere passati da riga di comando. L’interfaccia grafica prevede nella tabella dedicata ai parametri oltre alla colonna Default Value anche la colonna Value che non verrà salvata, ma che può essere utilizzata per eseguire test.

Al momento le espressioni utilizzabili sono quattro tra cui la Now che permette di restituire la data corrente nel formato desiderato.

image

E’ possibile utilizzare i parametri nel campo Host, user, password e all’interno del multiline texbox dedicato ai comando.

AutoTelnet consente di inviare, se necessario, utente e password dopo la connessione all’host abilitando le opzioni Send user e Send Password. La password sarà memorizzata crittografata nel file di script.

I comando possono essere terminati tramite l’invio del carattere Linefeed, Carriage return o della combinazione Linefeed e Carriage return.

image

Il tab Settings è possibile configurare alcune impostazioni come la porta TCP da utilizzare per la connessione, il tempo di ritardo prima di eseguire la lettura dell’output dei comandi inviati, la crittografatura dell’intero file di script e la generazione di un file di log con l’opzione di crittografare se necessario l’output dei comandi.

image

Una volta configurato è testato lo script sarà possibile eseguirlo avviando AutoTelnet in modalità batch tramite l’opzione a riga di comando /nogui specificando il file di script tramite l’opzione /f: e i parametri tramite l’opzione /p:.

image

Di seguito un esempio di esecuzione di AutoTelnet a riga di comando:

AutoTelnet.exe /nogui /f:e:/scripts/HP1920.ats /p:@SwitchIP=”10.0.0.10″ /p:@SwitchName=”SW0003″

Tramite il tab Notes se si desidera è possibile inserire nello script delle annotazioni in formato Rtf.

AutoTelnet è sviluppato tramite Visual Studio 2013 in linguaggio VB.Net e richiede .NET 4.0 o successivi ed è disponibile come progetto Open Source su GitHub all’indirizzo https://github.com/ermannog/AutoTelnet.

In un prossimo post mostrerò come automatizzare tramite AutoTelnet il backup della configurazione di switch.

[Update 01]

Ho rilasciato la versione 1.1.0 con alcune migliorie nella lettura dell’output dei comandi inviati tramite Telnet e l’aggiunta di una impostazione che permette se necessario su dispositivi particolarmente lenti a rispondere di riprovare la lettura per un numero prefissato di tentativi e solo se tutti i tentativi non restituiscono dati si da per conclusa la lettura.

image

[Update 02]

Rilasciata la versione 1.1.1 con alcune migliorie al codice relativo alla gestione della lettura dell’output di una connessione Telnet.

[Update 03]

Rilasciata la versione 1.2.0 con alcune migliorie nella gestione dell’output di una connessione Telnet e l’aggiunta della possibilità di gestire i parametri anche nel nome del file di log. Inoltre è stata migliorata la gestione dei parametri.

[Update 04]

Rilasciata la versione 1.3.0 con l’aggiunta della possibilità di modificare l’output in modalità batch nel caso di esecuzione riuscita e fallita, inoltre è stata anche aggiunta la possibilità di registrare tali messaggi su un file di testo per consentire la generazione di log nel caso esecuzioni automatizzate di AutoTelent. Nei campi relativi ai messaggi esecuzione riuscita e fallita e del nome del file di output è possibile utilizzare i parametri.

image

[Update 05]

Rilasciata la versione 1.4.0 che risolve un issue che impediva la generazione del log in modalità batch (parametro /nogui). Inoltre è stata modificata la gestione dei logs per consentire la visualizzazione dei log anche quando non si sta editando un file di configurazione. Dopo tale mofica alla gestione dei logs se si sta editando un file di configurazione verrà aperto il file log configurato, nel caso in cui non si stia editando un file di configurazione verrà richiesto di selezionare il file di log da visualizzare.