omnivista-scripting
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
omnivista-scripting [2018/02/01 09:29] – benny-domroese | omnivista-scripting [2024/06/09 10:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== OmniVista 2500 - CLI-Scripting mit JavaScript ====== | ====== OmniVista 2500 - 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, | + | 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. | + | 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. | 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. | ||
- | :!: __Hinweis: | + | :!: __Hinweis: |
===== Überprüfung der installierten FPGA Version ===== | ===== Überprüfung der installierten FPGA Version ===== | ||
Zeile 213: | Zeile 213: | ||
</ | </ | ||
Anbei ein Screenshot der Ausgabe, die Hinweise auf unterschiedliche Konfigurationen bietet. | Anbei ein Screenshot der Ausgabe, die Hinweise auf unterschiedliche Konfigurationen bietet. | ||
- | {{ : | + | {{ : |
===== UNP´s anhand von Vorlagen erstellen ===== | ===== UNP´s anhand von Vorlagen erstellen ===== | ||
Zeile 242: | Zeile 242: | ||
{ | { | ||
cli.errorLog(" | cli.errorLog(" | ||
+ | }/*else*/ | ||
+ | </js> | ||
+ | </ | ||
+ | |||
+ | ===== Überprüfung ob alle Ports per 802.1x gesichert sind ===== | ||
+ | |||
+ | Das nächste Beispiel benötigt bei der Ausführung die Eingabe von **User Variablen**. Im "Send Script Wizard" | ||
+ | |||
+ | Die Anzahl der Ports habe ich in diesem Beispiel per "show interfaces status" | ||
+ | |||
+ | Die Anzahl der 802.1x Ports wird erneut mit "show vlan port mobile" | ||
+ | |||
+ | |||
+ | < | ||
+ | <js> | ||
+ | /*@@Script for checking if all Ports are configured as 8021x. Use on your own risk! Benjamin Domroese, Januar 2018@@*/ | ||
+ | /*@@Dont forget to enter the number of expected Uplinks as uservariable in the CLI Module. This Script checks for unsecured Ports@@*/ | ||
+ | |||
+ | function unique(array)/ | ||
+ | { | ||
+ | array.sort(); | ||
+ | for (i=0; | ||
+ | if (a[i]==a[i+1]) | ||
+ | { | ||
+ | a.splice(i, | ||
+ | |||
+ | }/*if*/ | ||
+ | return array.length; | ||
+ | }/* function for removing duplicates */ | ||
+ | |||
+ | /* Check the number of available Ports on the System */ | ||
+ | cli.sendCmd(" | ||
+ | var response_1 = cli.lastResponse(); | ||
+ | var pattern_1 = / | ||
+ | var a = response_1.match(pattern_1); | ||
+ | var nr_of_ports_available = unique(a); /*Create a Array with the Ports. This is created with var " | ||
+ | |||
+ | /* Check the number of 8021x Ports */ | ||
+ | cli.sendCmd(" | ||
+ | var response_2 = cli.lastResponse(); | ||
+ | var pattern_2 = / | ||
+ | var b = response_2.match(pattern_2); | ||
+ | if (b != null)/* Check if there is no 8021x */ | ||
+ | { | ||
+ | var nr_of_ports_8021x = b.length; | ||
+ | }/* if */ | ||
+ | else | ||
+ | { | ||
+ | var nr_of_ports_8021x = 0; | ||
+ | }/*else* | ||
+ | |||
+ | /* Check if there are more unsecured Ports than expected and return unsecured Ports to logfile */ | ||
+ | if (nr_of_ports_8021x + parseInt(" | ||
+ | { | ||
+ | cli.trace(" | ||
+ | }/* if */ | ||
+ | else if (nr_of_ports_8021x + parseInt(" | ||
+ | { | ||
+ | cli.errorLog(" | ||
+ | }/*else*/ | ||
+ | else | ||
+ | { | ||
+ | var nr_of_ports_without_8021x = nr_of_ports_available - (nr_of_ports_8021x + parseInt(" | ||
+ | cli.errorLog(" | ||
}/*else*/ | }/*else*/ | ||
</js> | </js> | ||
</ | </ |
omnivista-scripting.1517477389.txt.gz · Zuletzt geändert: 2024/06/09 10:29 (Externe Bearbeitung)