Automatiséierend Entrée an SecureCRT Mat Scripten

Netzwierkingenieuren hunn dacks d'Aufgab fir verschidde Fragmenter vun engem Notizblock op d'Konsol ze kopéieren / pechen. Dir musst normalerweis e puer Parameteren kopéieren: Benotzernumm / Passwuert an eppes anescht. D'Benotzung vu Scripten erlaabt Iech dëse Prozess ze beschleunegen. MEE d'Aufgaben fir de Skript ze schreiwen an de Skript auszeféieren sollten am Ganzen manner Zäit daueren wéi manuell Konfiguratioun, soss sinn d'Skripte nëtzlos.

Fir wat ass dësen Artikel? Dësen Artikel ass aus der Fast Start Serie a zielt fir Netzwierkingenieuren Zäit ze spueren wann Dir Ausrüstung (eenzel Aufgab) op verschidden Apparater opstellt. Benotzt SecureCRT Software a gebaut-an Skript Ausféierung Funktionalitéit.

Inhalt

Aféierung

De SecureCRT Programm huet en agebaute Skript Ausféierungsmechanismus aus der Këscht. Wat sinn Terminal Scripte fir?

  • Automatiséiert I/O, a minimal I/O Validatioun.
  • Beschleunegt d'Ausféierung vun Routine Aufgaben - reduzéiert Pausen tëscht Ausrüstungsastellungen. (De facto Reduktioun vun Pausen verursaacht duerch Zäit fir Kopie / Vergaangenheet Aktiounen op der selwechter Hardware auszeféieren, mat 3 oder méi Kommandofragmenter fir op Hardware applizéiert ze ginn.)

Dëst Dokument deckt d'Aufgaben:

  • Kreatioun vun einfache Scripten.
  • Lafen Scripten op SecureCRT.
  • Beispiller fir einfach a fortgeschratt Scripten ze benotzen. (Praxis aus dem richtege Liewen.)

Kreatioun vun einfache Scripten.

Déi einfachst Skripte benotzen nëmmen zwee Kommandoen, Send a WaitForString. Dës Funktionalitéit ass genuch fir 90% (oder méi) vun den ausgefouerten Aufgaben.

Scripte kënnen a Python, JS, VBS (Visual Basic), Perl, etc.

Python

# $language = "Python"
# $interface = "1.0"
def main():
  crt.Screen.Synchronous = True
  crt.Screen.Send("r")
  crt.Screen.WaitForString("name")
  crt.Screen.Send("adminr")
  crt.Screen.WaitForString("Password:")
  crt.Screen.Send("Password")
  crt.Screen.Synchronous = False
main()

Normalerweis e Fichier mat der Extensioun "*.py"

VBS

# $language = "VBScript"
# $interface = "1.0"
Sub Main
  crt.Screen.Synchronous = True
  crt.Screen.Send vbcr
  crt.Screen.WaitForString "name"
  crt.Screen.Send "cisco" & vbcr
  crt.Screen.WaitForString "assword"
  crt.Screen.Send "cisco" & vbcr
  crt.Screen.Synchronous = False
End Sub

Normalerweis eng Datei mat der Extensioun "*.vbs"

Erstellt e Skript mat engem Skript-Entrée.

Erlaabt Iech de Prozess ze automatiséieren fir e Skript ze schreiwen. Dir fänkt un engem Skript ze schreiwen. SecureCRT registréiert d'Befehle an déi spéider Hardware-Äntwert a weist de fäerdege Skript fir Iech.

A. Fänkt un de Skript ze schreiwen:
SecureCRT Menu => Skript => Start Recording Script
b. Maacht Aktiounen mat der Konsole (Konfiguratiounsschrëtt am CLI ausféieren).
V. Schreift de Skript fäerdeg:
SecureCRT Menu => Skript => Stop Recording Skript ...
Späichert d'Skriptdatei.

Beispill vun ausgefouert Kommandoen a gespäichert Skript:

Automatiséierend Entrée an SecureCRT Mat Scripten

Lafen Scripten op SecureCRT.

Nodeems Dir de Skript erstallt / geännert huet, stellt sech eng natierlech Fro: Wéi de Skript anzesetzen?
Et ginn e puer Weeër:

  • Lafen manuell aus dem Script Menü
  • Automatesch Start no Verbindung (Login Skript)
  • Automatesch Login ouni e Skript ze benotzen
  • Ausléiser manuell mat engem Knäppchen am SecureCRT (e Knäppchen muss nach erstallt ginn an op SecureCRT bäigefüügt)

Lafen manuell aus dem Script Menü

SecureCRT Menu => Skript => Run...
- Déi lescht 10 Scripte ginn erënnert a verfügbar fir séier ze starten:
SecureCRT Menu => Skript => 1 "Skript Dateinumm"
SecureCRT Menu => Skript => 2 "Skript Dateinumm"
SecureCRT Menu => Skript => 3 "Skript Dateinumm"
SecureCRT Menu => Skript => 4 "Skript Dateinumm"
SecureCRT Menu => Skript => 5 "Skript Dateinumm"

Automatesch Start no Verbindung (Login Skript)

Automatesch Logging Skriptastellunge gi fir déi gespäichert Sessioun konfiguréiert: Connection => Logon Actions => Logon Script

Automatiséierend Entrée an SecureCRT Mat Scripten

Automatesch Login ouni e Skript ze benotzen

Et ass méiglech automatesch de Benotzernumm vum Passwuert anzeginn ouni e Skript ze schreiwen, andeems Dir nëmmen déi agebaute Funktionalitéit vu SecureCRT benotzt. An de Verbindungsastellungen "Connection" => Logon Actions => Login automatiséieren - Dir musst e puer Bündel ausfëllen - dat heescht datt d'Paaren: "Erwaart Text" + "Zeechen an dësen Text geschéckt" kënne vill esou Pairen sinn. (Beispill: 1. Pair waart op Benotzernumm, zweet Waart op Passwuert, Drëtt waart op privilegiéierten Modus Ufro, véiert Paar fir privilegéiert Modus Passwuert.)

Beispill vun automateschen Login op Cisco ASA:

Automatiséierend Entrée an SecureCRT Mat Scripten

Ausléiser manuell mat engem Knäppchen am SecureCRT (e Knäppchen muss nach erstallt ginn an op SecureCRT bäigefüügt)

Am SecureCRT kënnt Dir e Skript un e Knäppchen zouginn. De Knäppchen gëtt op eng Panel bäigefüügt, déi speziell fir dësen Zweck erstallt gouf.

A. E Panel op d'Interface addéieren: SecureCRT Menu => View => Button Bar
b. Füügt e Knäppchen op de Panel a füügt e Skript derbäi. - Riets-klickt op de Knäppchen Bar a wielt "Neie Knäppchen ..." aus dem Kontextmenü.
V. Am Dialog "Kaart Button" am Feld "Action" wielt d'Aktioun "Run Script" (Funktioun).
Gitt eng Iwwerschrëft fir de Knäppchen un. D'Faarf fir de Knäppchen Ikon. Fëllt d'Astellungen of andeems Dir op Ok klickt.

Automatiséierend Entrée an SecureCRT Mat Scripten

Opgepasst:

De Panel mat Knäppercher ass ganz nëtzlech Funktionalitéit.

1. Et ass méiglech, wann Login op eng spezifesch Sessioun, ze spezifizéieren, wéi eng Panel fir dës Tab als Standard opzemaachen.

2. Et ass méiglech virdefinéiert Aktiounen fir Standardaktiounen mat Ausrüstung ze setzen: Show Show Versioun, Show Running-Config, späichert Konfiguratioun.

Automatiséierend Entrée an SecureCRT Mat Scripten
Kee Skript ass un dëse Knäpper verbonnen. Nëmmen Aktiounslinn:

Automatiséierend Entrée an SecureCRT Mat Scripten
Astellung - sou datt wann Dir op eng Sessioun wiesselt, déi néideg Panel mat Knäppercher an de Sessiounsastellungen opmaacht:

Automatiséierend Entrée an SecureCRT Mat Scripten
Et mécht Sënn fir de Client individuell Scripte fir Login opzestellen an op d'Panel ze goen mat heefege Befehle fir de Verkeefer.

Automatiséierend Entrée an SecureCRT Mat Scripten
Wann Dir op de Go Cisco Knäppchen dréckt, wiesselt de Panel op d'Cisco Button Bar.

Automatiséierend Entrée an SecureCRT Mat Scripten

Beispiller fir einfach a fortgeschratt Scripten ze benotzen. (Praxis aus dem richtege Liewen.)

Einfach Scripte si genuch fir bal all Occasiounen. Awer eemol brauch ech de Skript e bëssen ze komplizéieren - d'Aarbecht ze beschleunegen. Dës Komplikatioun huet einfach zousätzlech Donnéeën an enger Dialogbox vum Benotzer gefrot.

Ufro Daten vum Benotzer mat enger Dialogbox

Ech hat 2 am Datefuerderungsskript. Dëst ass den Hostnumm an de 4. Oktett vun der IP Adress. Fir dës Aktioun auszeféieren - ech hunn googled wéi ech et maachen an et op der offizieller Websäit vu SecureCRT (vandyke) fonnt. - d'Funktionalitéit gëtt prompt genannt.

	crt.Screen.WaitForString("-Vlanif200]")
	hostnamestr = crt.Dialog.Prompt("Enter hostname:", "hostname", "", False)
	ipaddressstr = crt.Dialog.Prompt("Enter ip address:", "ip", "", False)
	crt.Screen.Send("ip address 10.10.10.")
	crt.Screen.Send(ipaddressstr)
	crt.Screen.Send(" 23r")
	crt.Screen.Send("quitr")
	crt.Screen.Send("sysname ")
	crt.Screen.Send(hostnamestr)
	crt.Screen.Send("r") 

Dësen Deel vum Skript huet gefrot fir Hostnumm an Zuelen aus dem leschten Oktett. Zënter datt et 15 Ausrüstung waren. An d'Donnéeën goufen an enger Tabell presentéiert, dunn hunn ech d'Wäerter aus der Tabell kopéiert an an d'Dialogboxen gepecht. Weider huet de Skript onofhängeg geschafft.

FTP Kopie op Netzwierkausrüstung.

Dëse Skript huet meng Kommandofenster (Shell) gestart an Daten iwwer FTP kopéiert. Um Enn schléisst d'Sessioun zou. Et ass onméiglech Notizblock dofir ze benotzen, well d'Kopie dauert ganz laang an d'Donnéeën am FTP-Puffer ginn net sou laang gespäichert:

# $language = "Python"
# $interface = "1.0"

# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.

def main():
	crt.Screen.Synchronous = True
	crt.Screen.Send("ftp 192.168.1.1r")
	crt.Screen.WaitForString("Name")
	crt.Screen.Send("adminr")
	crt.Screen.WaitForString("Password:")
	crt.Screen.Send("Passwordr")
	crt.Screen.WaitForString("ftp")
	crt.Screen.Send("binaryr")
	crt.Screen.WaitForString("ftp")
	crt.Screen.Send("put S5720LI-V200R011SPH016.patr")
	crt.Screen.WaitForString("ftp")
	crt.Screen.Send("quitr")
	crt.Screen.Synchronous = False
main()

Benotzernumm / Passwuert mat engem Skript aginn

Op ee Client Zougang zu Reseau Equipement direkt zougemaach. Et war méiglech d'Ausrüstung anzeginn andeems Dir fir d'éischt mat der Default Gateway verbënnt, a vun deem dann un d'Ausrüstung verbonnen. Den ssh Client, deen an der IOS / Hardware Software gebaut gouf, gouf benotzt fir ze verbannen. Deementspriechend goufen de Benotzernumm a Passwuert an der Konsole gefrot. Mat dem Skript hei drënner goufen de Benotzernumm a Passwuert automatesch aginn:

# $language = "Python"
# $interface = "1.0"

# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.

def main():
	crt.Screen.Synchronous = True
	crt.Screen.Send("snmpadminr")
	crt.Screen.WaitForString("assword:")
	crt.Screen.Send("Passwordr")
	crt.Screen.Synchronous = False
main()

Opgepasst: Et waren 2 Skripte: Ee fir den Administratorkonto, dat zweet fir den eSIGHT Kont.

Skript mat der Fäegkeet fir direkt Daten wärend der Skriptausféierung ze addéieren.

D'Aufgab war eng statesch Streck op all Netzwierkausrüstung ze addéieren. Awer de Paart zum Internet op all Ausrüstung war anescht (an et ënnerscheet sech vum Standardpaart). Déi folgend Skript huet d'Routing-Tabelle ugewisen, an de Konfiguratiounsmodus aginn, de Kommando net bis zum Schluss geschriwwen (d'IP Adress vum Paart zum Internet) - ech hunn dësen Deel bäigefüügt. Nodeems ech op Enter gedréckt hunn, huet de Skript weider de Kommando ausgefouert.

# $language = "Python"
# $interface = "1.0"

# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.

def main():
	crt.Screen.Synchronous = True
	crt.Screen.Send("Zdes-mogla-bit-vasha-reklamar")
	crt.Screen.WaitForString("#")
	crt.Screen.Send("show run | inc ip router")
	crt.Screen.WaitForString("#")
	crt.Screen.Send("conf tr")
	crt.Screen.WaitForString("(config)#")
	crt.Screen.Send("ip route 10.10.10.8 255.255.255.252 ")
	crt.Screen.WaitForString("(config)#")
	crt.Screen.Send("endr")
	crt.Screen.WaitForString("#")
	crt.Screen.Send("copy run star")
	crt.Screen.WaitForString("[startup-config]?")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("#")
	crt.Screen.Send("exitr")
	crt.Screen.Synchronous = False
main()

An dësem Skript, an der Linn: crt.Screen.Send ("ip route 10.10.10.8 255.255.255.252 ") gëtt d'IP Adress vum Paart net derbäigesat an et gëtt kee Carriage Return Charakter. D'Skript waart op déi nächst Zeil mat den Zeeche "(config) #" Dës Zeechen erschéngen nodeems ech d'IP Adress aginn hunn an aginn.

Fazit:

Wann Dir e Skript schreift an ausféiert, muss d'Regel gefollegt ginn: D'Zäit fir e Skript ze schreiwen an e Skript auszeféieren däerf ni méi sinn wéi d'Zäit déi theoretesch verbruecht gëtt fir déi selwecht Aarbecht manuell ze maachen (Kopie / Paste vun engem Notizblock, Schreiwen an Debugging e Spillbuch fir ansible, Schreiwen an Debugging Python Skript). Dat ass, d'Benotzung vum Skript soll Zäit spueren, an net Zäit op eemoleg Automatisatioun vu Prozesser verschwenden (dh wann de Skript eenzegaarteg ass an et gëtt keng Widderhuelung méi). Awer wann d'Skript eenzegaarteg ass an d'Automatiséierung mam Skript a Schreiwen / Debugging vum Skript dauert manner Zäit wéi et op all aner Manéier ze maachen (ansibel, Kommandofenster), dann ass de Skript déi bescht Léisung.
Debugging engem Skript. D'Skript wiisst graduell, Debugging fënnt um Run-in um éischten, zweeten, drëtten Apparat statt, a bis de véierte wäert de Skript héchstwahrscheinlech voll operationell sinn.

E Skript auszeféieren (duerch Benotzernumm + Passwuert aginn) mat der Maus ass normalerweis méi séier wéi d'Kopie vum Benotzernumm a Passwuert vun engem Notizblock. Awer net sécher aus Sécherheetssiicht.
En anert (richtegt) Beispill wann Dir e Skript benotzt: Dir hutt keen direkten Zougang zu Netzwierkausrüstung. Awer et ass néideg fir all Netzwierkausrüstung ze konfiguréieren (bréngt et an den Iwwerwaachungssystem, konfiguréiert en zousätzleche Benotzernumm / Passwuert / snmpv3username / Passwuert). Et gëtt Zougang wann Dir op de Core Schalter gitt, vun deem Dir SSH op aner Ausrüstung opmaacht. Firwat kënnt Dir Ansible net benotzen. - Well mir lafen an eng Limite op d'Zuel vun erlaabt simultan Sessiounen op Reseau Equipement (Linn vty 0 4, User-Interface vty 0 4) (aner Fro ass wéi verschidden Ausrüstung an Ansible mat der selwechter SSH éischt Hop ufänken).

De Skript reduzéiert d'Zäit während laangen Operatiounen - zum Beispill Kopie vun Dateien iwwer FTP. Nodeems d'Kopie fäerdeg ass, fänkt de Skript direkt un. Eng Persoun muss d'Enn vun der Kopie gesinn, dann d'Enn vun der Kopie realiséieren, da gitt déi entspriechend Kommandoen. De Skript mécht et objektiv méi séier.

Scripte sinn applicabel wou et onméiglech ass Mass Daten Liwwerung Tools ze benotzen: Konsol. Oder wann e puer vun den Donnéeën fir d'Ausrüstung eenzegaarteg sinn: Hostnumm, Management IP Adress. Oder wann Dir e Programm schreift an Debugging ass et méi schwéier wéi d'Donnéeën ze addéieren, déi vun der Ausrüstung kritt goufen, während de Skript leeft. - E Beispill mat engem Skript fir eng Streck virzeschreiwen, wann all Ausrüstung seng eege IP Adress vum Internet Provider huet. (Meng Kollegen hunn esou Scripte geschriwwen - wann den DMVPN geschwat huet iwwer 3. Et war néideg fir d'DMVPN Astellungen z'änneren).

Fallstudie: Konfiguratioun vun initialen Astellungen op engem neie Schalter mat de Konsol Ports:

A. Steckd der Konsol Kabel an den Apparat.
B. Run de Skript
B. Op d'Ausféierung vum Skript gewaart
D. Steckd de Konsolkabel an den nächsten Apparat.
E. Wann de Schalter net dee leschten ass, gitt op Schrëtt B.

Als Resultat vun der Aarbecht vum Skript:

  • den initialen Passwuert ass op der Ausrüstung gesat.
  • Benotzernumm aginn
  • déi eenzegaarteg IP Adress vum Apparat gëtt aginn.

PS d'Operatioun huet misse widderholl ginn. Well Default ssh war net konfiguréiert / behënnert. (Jo, dëst ass mäi Feeler.)

Benotzt Quellen.

1. Iwwert Scripten schafen
2. Skript Beispiller

Anhang 1: Prouf Scripten.


E Beispill vun engem laange Skript, mat zwou Ufroen: Hostnumm an IP Adress. Et gouf erstallt fir Ausrüstung duerch d'Konsole virzestellen (9600 Baud). An och fir d'Verbindung vun Ausrüstung zum Netz ze preparéieren.

# $language = "Python"
# $interface = "1.0"

# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.

def main():
	crt.Screen.Synchronous = True
	crt.Screen.Send("r")
	crt.Screen.WaitForString("name")
	crt.Screen.Send("adminr")
	crt.Screen.WaitForString("Password:")
	crt.Screen.Send("Passwordr")
	crt.Screen.Send("sysr")
	crt.Screen.WaitForString("]")
	crt.Screen.Send("interface Vlanif 1r")
	crt.Screen.WaitForString("Vlanif1]")
	crt.Screen.Send("undo ip addressr")
	crt.Screen.Send("shutdownr")
	crt.Screen.Send("vlan 100r")
	crt.Screen.Send(" description description1r")
	crt.Screen.Send(" name description1r")
	crt.Screen.Send("vlan 110r")
	crt.Screen.Send(" description description2r")
	crt.Screen.Send(" name description2r")
	crt.Screen.Send("vlan 120r")
	crt.Screen.Send(" description description3r")
	crt.Screen.Send(" name description3r")
	crt.Screen.Send("vlan 130r")
	crt.Screen.Send(" description description4r")
	crt.Screen.Send(" name description4r")
	crt.Screen.Send("vlan 140r")
	crt.Screen.Send(" description description5r")
	crt.Screen.Send(" name description5r")
	crt.Screen.Send("vlan 150r")
	crt.Screen.Send(" description description6r")
	crt.Screen.Send(" name description6r")
	crt.Screen.Send("vlan 160r")
	crt.Screen.Send(" description description7r")
	crt.Screen.Send(" name description7r")
	crt.Screen.Send("vlan 170r")
	crt.Screen.Send(" description description8r")
	crt.Screen.Send(" name description8r")               
	crt.Screen.Send("vlan 180r")
	crt.Screen.Send(" description description9r")
	crt.Screen.Send(" name description9r")
	crt.Screen.Send("vlan 200r")
	crt.Screen.Send(" description description10r")
	crt.Screen.Send(" name description10r")
	crt.Screen.Send("vlan 300r")
	crt.Screen.Send(" description description11r")
	crt.Screen.Send(" name description11r")
	crt.Screen.Send("quitr")
	crt.Screen.WaitForString("]")
	crt.Screen.Send("stp region-configurationr")
	crt.Screen.Send("region-name descr")
	crt.Screen.Send("active region-configurationr")
	crt.Screen.WaitForString("mst-region]")
	crt.Screen.Send("quitr")
	crt.Screen.Send("stp instance 0 priority 57344r")
	crt.Screen.WaitForString("]")
	crt.Screen.Send("interface range GigabitEthernet 0/0/1 to GigabitEthernet 0/0/42r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("description Usersr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port link-type hybridr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("voice-vlan 100 enabler")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("voice-vlan legacy enabler")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port hybrid pvid vlan 120r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port hybrid tagged vlan 100r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port hybrid untagged vlan 120r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("stp edged-port enabler")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("trust 8021pr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control broadcast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control multicast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control action blockr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control enable trapr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("quitr")
	crt.Screen.Send("interface range GigabitEthernet 0/0/43 to GigabitEthernet 0/0/48r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("description Printersr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port link-type accessr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port default vlan 130r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("stp edged-port enabler")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("trust 8021pr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control broadcast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control multicast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control action blockr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control enable trapr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("quitr")
	crt.Screen.Send("interface range XGigabitEthernet 0/0/1 to XGigabitEthernet 0/0/2r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("description uplinkr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port link-type trunkr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port trunk allow-pass vlan 100 110 120 130 140 150 160 170 180 200r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port trunk allow-pass vlan 300r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control broadcast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control multicast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control action blockr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control enable trapr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("quitr")
	crt.Screen.Send("ntp-service unicast-server 10.10.10.4r")
	crt.Screen.Send("ntp-service unicast-server 10.10.10.2r")
	crt.Screen.Send("ntp-service unicast-server 10.10.10.134r")
	crt.Screen.Send("ip route-static 0.0.0.0 0.0.0.0 10.10.10.254r")
	crt.Screen.Send("interface Vlanif 200r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
        hostnamestr = crt.Dialog.Prompt("Enter hostname:", "hostname", "", False)
        ipaddressstr = crt.Dialog.Prompt("Enter ip address:", "ip", "", False)
	crt.Screen.Send("ip address 10.10.10.")
	crt.Screen.Send(ipaddressstr)
	crt.Screen.Send(" 24r")
	crt.Screen.Send("quitr")
	crt.Screen.Send("sysname ")
	crt.Screen.Send(hostnamestr)
	crt.Screen.Send("r")
	crt.Screen.WaitForString("]")
	crt.Screen.Synchronous = False
main()

Esou Scripten sinn normalerweis net néideg, mä de Montant vun Equipement ass 15 Stéck. Méi séier Setup erlaabt. Et war méi séier d'Ausrüstung mat der SecureCRT Command Fënster opzestellen.

E Kont opzemaachen fir ssh.

En anert Beispill. D'Konfiguratioun ass och iwwer d'Konsole.

# $language = "Python"
# $interface = "1.0"

# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.

def main():
	crt.Screen.Synchronous = True
	crt.Screen.Send("r")
	crt.Screen.WaitForString("name")
	crt.Screen.Send("adminr")
	crt.Screen.WaitForString("Password:")
	crt.Screen.Send("Passwordr")
	crt.Screen.WaitForString(">")
	crt.Screen.Send("sysr")
	crt.Screen.Send("stelnet server enabler")
	crt.Screen.Send("aaar")
	crt.Screen.Send("local-user admin service-type terminal ftp http sshr")
	crt.Screen.Send("quitr")
	crt.Screen.Send("user-interface vty 0 4r")
	crt.Screen.Send("authentication-mode aaar")
	crt.Screen.Send("quitr")
	crt.Screen.Send("quitr")
	crt.Screen.Synchronous = False
main()


Iwwer SecureCRT:Bezuelt Software: vun $ 99 (de klengste Präis ass nëmme fir SecureCRT fir ee Joer)
Offiziell Websäit
Eng Software Lizenz gëtt eemol kaaft, mat Ënnerstëtzung (fir d'Aktualiséierung), da gëtt d'Software mat dëser Lizenz fir eng onlimitéiert Zäit benotzt.

Schafft op Mac OS X a Windows Betribssystemer.

Et gëtt Skript Ënnerstëtzung (dësen Artikel)
et ginn Kommando Fënster
Serial / Telnet / SSH1 / SSH2 / Shell Betribssystem

Source: will.com