playground:playground
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| playground:playground [2018/01/31 13:52] – benny-domroese | playground:playground [2018/01/31 19:10] (aktuell) – gelöscht benny | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== OmniVista2500 - CLI-Scripting mit JavaScript ====== | ||
| - | Der folgende Tech-Tipp soll die Möglichkeiten des Scripting Moduls des OmniVista2500 aufzeigen. Neben der Nutzung der bekannten AOS CLI Syntax, besteht die Möglichkeit Kommandos in JavaScript einzubinden, | ||
| - | |||
| - | Das Modul kann zur Ausführung der Scripte neben den eingebauten System Variablen (z.B. GeräteTyp, IP-Adresse, MAC-Adresse) auch Benutzer Variablen zur Ausführung der Scripte heranziehen. Details zu den Möglichkeiten werden im OmniVista direkt unter dem Menüpunkt ?Help im CLI-Scripting Modul angeboten. | ||
| - | |||
| - | Folgend werden einige Beispiel Scripte kurz erklärt, die individuell angepasst werden können und den Konfigurationsaufwand in einigen Fällen bereits erheblich reduzieren können. | ||
| - | |||
| - | ===== Überprüfung von gleichartiger 802.1x Konfiguration ===== | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Das folgende Script überprüft, | ||
| - | |||
| - | Anhand eines Regulären Ausdrucks wird hier mithilfe des Kommandos "show vlan port mobile" | ||
| - | |||
| - | Aus: | ||
| - | < | ||
| - | 802.1x 1/20 supp-polling retry 10 | ||
| - | </ | ||
| - | wird | ||
| - | < | ||
| - | 802.1x | ||
| - | </ | ||
| - | |||
| - | Diese Konfiguration wird nun mit dem jeweilig nächsten Port verglichen und auf Differenzen untersucht (z.B. Port 1/2 mit Port 1/3).Dieser Vorgang wird für alle 802.1x Ports ausgeführt, | ||
| - | |||
| - | Anbei der JavaScript Code für diese Funtion. | ||
| - | |||
| - | : | ||
| - | < | ||
| - | <js> | ||
| - | /*@@Check if all 8021x Config is identically. Created by Benjamin Domroese, Januar 2018@@*/ | ||
| - | cli.sendCmd(" | ||
| - | cli.cliSleep(" | ||
| - | var response = cli.lastResponse(); | ||
| - | var pattern = new RegExp(" | ||
| - | var noerrorfound = true; | ||
| - | var okmsg = false; | ||
| - | |||
| - | if (pattern.test(response)==false) | ||
| - | { | ||
| - | cli.trace(" | ||
| - | okmsg = true; | ||
| - | }/*if*/ | ||
| - | else | ||
| - | { | ||
| - | var ListOf8021xPorts = response.match(pattern);/ | ||
| - | cli.sendCmd(" | ||
| - | var aaa_config = cli.lastResponse(); | ||
| - | |||
| - | for (i=0; | ||
| - | { | ||
| - | var pattern_2 = new RegExp(" | ||
| - | var first_port = aaa_config.match(pattern_2); | ||
| - | var pattern_3 = new RegExp(" | ||
| - | var second_port = aaa_config.match(pattern_3); | ||
| - | |||
| - | for (j=0; | ||
| - | { | ||
| - | var first_port_clean = first_port[j].replace(/ | ||
| - | var second_port_clean = second_port[j].replace(/ | ||
| - | |||
| - | if (second_port_clean != first_port_clean) | ||
| - | { | ||
| - | cli.errorLog(" | ||
| - | cli.errorLog(" | ||
| - | cli.errorLog(" | ||
| - | var noerrorfound = false; | ||
| - | }/ | ||
| - | |||
| - | }/*for*/ | ||
| - | }/*for*/ | ||
| - | }/*else*/ | ||
| - | if (noerrorfound==true && okmsg==false) | ||
| - | { | ||
| - | cli.trace(" | ||
| - | }/*if*/ | ||
| - | |||
| - | </js> | ||
| - | </ | ||
| - | Anbei ein Screenshot der Ausgabe, die Hinweise auf unterschiedliche Konfigurationen bietet. | ||
| - | {{ : | ||
playground/playground.1517406730.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
