Syötön automatisointi SecureCRT:ssä komentosarjojen avulla

Verkkoinsinöörit joutuvat usein kopioimaan/liittämään tiettyjä fragmentteja muistilehtiöstä konsoliin. Yleensä joudut kopioimaan useita parametreja: Käyttäjänimi/Salasana ja jotain muuta. Skriptien käytön avulla voit nopeuttaa tätä prosessia. MUTTA komentosarjan kirjoittaminen ja komentosarjan suorittaminen vievät yhteensä vähemmän aikaa kuin manuaalinen konfigurointi, muuten skriptit ovat hyödyttömiä.

Mitä varten tämä artikkeli on tarkoitettu? Tämä artikkeli on osa Fast Start -sarjaa, ja sen tarkoituksena on säästää verkkoinsinöörien aikaa, kun ne määrittävät laitteita (yksi tehtävä) useissa laitteissa. Käyttää SecureCRT-ohjelmistoa ja sisäänrakennettua komentosarjan suoritustoimintoa.

Pitoisuus

Esittely

SecureCRT-ohjelmassa on sisäänrakennettu komentosarjan suoritusmekanismi. Mitä varten terminaaliskriptit ovat?

  • Automaattinen I/O ja minimaalinen I/O-validointi.
  • Nopeuta rutiinitehtävien suorittamista – lyhennä taukoja laiteasetusten välillä. (De facto vähentää taukoja, jotka johtuvat kopiointi-/aikaistoimintojen suorittamisesta samalla laitteistolla, ja laitteistoon sovelletaan kolmea tai useampaa komentofragmenttia.)

Tämä asiakirja kattaa tehtävät:

  • Yksinkertaisten skriptien luominen.
  • Skriptien suorittaminen SecureCRT:llä.
  • Esimerkkejä yksinkertaisten ja edistyneiden komentosarjojen käytöstä. (Harjoittelu tosielämästä.)

Yksinkertaisten skriptien luominen.

Yksinkertaisimmat komentosarjat käyttävät vain kahta komentoa, Send ja WaitForString. Tämä toiminto riittää 90 %:iin (tai useampaan) suoritetuista tehtävistä.

Skriptit voivat toimia Pythonissa, JS:ssä, VBS:ssä (Visual Basic), Perlissä jne.

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()

Yleensä tiedosto, jonka tunniste on "*.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

Yleensä tiedosto, jonka tunniste on "*.vbs"

Luo skripti skriptimerkinnän avulla.

Voit automatisoida skriptin kirjoittamisen. Aloitat käsikirjoituksen kirjoittamisen. SecureCRT tallentaa komennot ja niitä seuraavat laitteistovastaukset ja näyttää valmiin komentosarjan puolestasi.

A. Aloita käsikirjoituksen kirjoittaminen:
SecureCRT Menu => Script => Aloita komentosarjan tallennus
b. Suorita toiminnot konsolilla (suorita määritysvaiheet CLI:ssä).
V. Kirjoita käsikirjoitus loppuun:
SecureCRT-valikko => Skripti => Lopeta komentosarjan tallennus…
Tallenna skriptitiedosto.

Esimerkki suoritetuista komennoista ja tallennetusta komentosarjasta:

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla

Skriptien suorittaminen SecureCRT:llä.

Skriptin luomisen/muokkauksen jälkeen herää luonnollinen kysymys: Miten komentosarjaa käytetään?
On olemassa useita tapoja:

  • Suoritetaan manuaalisesti Script-valikosta
  • Automaattinen käynnistys yhteyden jälkeen (kirjautumisskripti)
  • Automaattinen kirjautuminen ilman komentosarjaa
  • Laukaisu manuaalisesti painikkeella SecureCRT:ssä (painiketta ei ole vielä luotu ja lisätty SecureCRT:hen)

Suoritetaan manuaalisesti Script-valikosta

SecureCRT Menu => Script => Suorita…
- Viimeiset 10 skriptiä muistetaan ja ne ovat käytettävissä pikakäynnistystä varten:
SecureCRT-valikko => Script => 1 "Komentosarjatiedoston nimi"
SecureCRT-valikko => Script => 2 "Komentosarjatiedoston nimi"
SecureCRT-valikko => Script => 3 "Komentosarjatiedoston nimi"
SecureCRT-valikko => Script => 4 "Komentosarjatiedoston nimi"
SecureCRT-valikko => Script => 5 "Komentosarjatiedoston nimi"

Automaattinen käynnistys yhteyden jälkeen (kirjautumisskripti)

Automaattiset kirjauskomentosarjan asetukset on määritetty tallennettua istuntoa varten: Yhteys => Kirjautumistoiminnot => Kirjautumisskripti

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla

Automaattinen kirjautuminen ilman komentosarjaa

Salasanan käyttäjätunnus on mahdollista syöttää automaattisesti ilman komentosarjaa käyttämällä vain SecureCRT:n sisäänrakennettua toimintoa. Yhteysasetuksissa "Yhteys" => Kirjautumistoiminnot => Automatisoi sisäänkirjautuminen - sinun on täytettävä useita nippuja - mikä tarkoittaa pareja: "Odotettu teksti" + "Tähän tekstiin lähetetyt merkit" tällaisia ​​pareja voi olla useita. (Esimerkki: 1. pari odottaa käyttäjätunnusta, toinen salasanaa, kolmas odottaa etuoikeutetun tilan kehotetta, neljäs pari etuoikeutetun tilan salasanaa.)

Esimerkki automaattisesta kirjautumisesta Cisco ASA:ssa:

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla

Laukaisu manuaalisesti painikkeella SecureCRT:ssä (painiketta ei ole vielä luotu ja lisätty SecureCRT:hen)

SecureCRT:ssä voit määrittää painikkeelle komentosarjan. Painike lisätään erityisesti tätä tarkoitusta varten luotuun paneeliin.

A. Paneelin lisääminen käyttöliittymään: SecureCRT Menu => View => Button Bar
b. Lisää painike paneeliin ja lisää komentosarja. – Napsauta painikeriviä hiiren kakkospainikkeella ja valitse pikavalikosta ”Uusi painike…”.
V. Valitse "Karttapainike"-valintaikkunan "Toiminto"-kentästä "Suorita komentosarja" -toiminto (toiminto).
Määritä painikkeelle kuvateksti. Painikekuvakkeen väri. Viimeistele asetukset napsauttamalla OK.

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla

Huom:

Painikkeilla varustettu paneeli on erittäin hyödyllinen toiminto.

1. Kun kirjaudut sisään tiettyyn istuntoon, voit määrittää, mikä paneeli avataan oletusarvoisesti tälle välilehdelle.

2. On mahdollista asettaa valmiita toimintoja vakiotoimintoihin laitteiden kanssa: näytä näytä versio, näytä käynnissä-config, tallenna konfiguraatio.

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla
Näihin painikkeisiin ei ole liitetty komentosarjaa. Vain toimintalinja:

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla
Asetus - niin, että istuntoon vaihdettaessa tarvittava paneeli painikkeineen avautuu istuntoasetuksiin:

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla
Asiakkaan on järkevää määrittää yksittäisiä komentosarjoja kirjautumiseen ja siirtyä paneeliin, jossa on usein toimittajan komentoja.

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla
Kun painat Go Cisco -painiketta, paneeli vaihtaa Cisco-painikepalkkiin.

Syötön automatisointi SecureCRT:ssä komentosarjojen avulla

Esimerkkejä yksinkertaisten ja edistyneiden komentosarjojen käytöstä. (Harjoittelu tosielämästä.)

Yksinkertaiset skriptit riittävät melkein kaikkiin tilanteisiin. Mutta kerran minun piti monimutkaista käsikirjoitusta hieman - työn nopeuttamiseksi. Tämä komplikaatio pyysi käyttäjältä yksinkertaisesti lisätietoja valintaikkunassa.

Tietojen pyytäminen käyttäjältä valintaikkunan avulla

Minulla oli tietopyyntöskriptissä 2. Tämä on isäntänimi ja IP-osoitteen 4. oktetti. Suorittaaksesi tämän toiminnon - googletin kuinka se tehdään ja löysin sen SecureCRT:n (vandyke) viralliselta verkkosivustolta. - toimintoa kutsutaan kehotteeksi.

	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") 

Tämä käsikirjoituksen osa pyysi isäntänimeä ja numeroita viimeisestä oktetista. Koska laitteita oli 15 kappaletta. Ja tiedot esitettiin taulukossa, sitten kopioin arvot taulukosta ja liitin ne valintaikkunoihin. Lisäksi käsikirjoitus toimi itsenäisesti.

FTP-kopiointi verkkolaitteeseen.

Tämä komentosarja käynnisti komentoikkunani (shell) ja kopioi tiedot FTP:n kautta. Lopuksi sulje istunto. Muistio on mahdotonta käyttää tähän, koska kopiointi kestää hyvin kauan ja FTP-puskurissa olevat tiedot eivät säily niin kauan:

# $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()

Käyttäjätunnuksen/salasanan syöttäminen komentosarjan avulla

Yhdellä asiakkaalla verkkolaitteiden suora pääsy suljettiin. Laitteeseen pääsi sisään kytkemällä ensin Default Gateway -yhdyskäytävään ja sieltä sitten siihen liitettyyn laitteeseen. Yhteyden muodostamiseen käytettiin IOS-/laitteistoohjelmistoon sisäänrakennettua ssh-asiakasta. Vastaavasti käyttäjätunnusta ja salasanaa pyydettiin konsolissa. Alla olevalla skriptillä käyttäjätunnus ja salasana syötettiin automaattisesti:

# $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()

Huomautus: Skriptejä oli 2. Yksi järjestelmänvalvojatilille ja toinen eSIGHT-tilille.

Komentosarja, jolla on mahdollisuus liittää tietoja suoraan komentosarjan suorittamisen aikana.

Tehtävänä oli lisätä staattinen reitti kaikkiin verkkolaitteisiin. Mutta jokaisen laitteen yhdyskäytävä Internetiin oli erilainen (ja se erosi oletusyhdyskäytävästä). Seuraava komentosarja näytti reititystaulukon, siirtyi määritystilaan, ei kirjoittanut komentoa loppuun (Internet-yhdyskäytävän IP-osoite) - lisäsin tämän osan. Kun painoin Enter, komentosarja jatkoi komennon suorittamista.

# $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()

Tässä komentosarjassa rivillä: crt.Screen.Send("ip-reitti 10.10.10.8 255.255.255.252 ") yhdyskäytävän IP-osoitetta ei lisätä, eikä vaunun palautusmerkkiä ole. Skripti odottaa seuraavaa riviä merkeillä "(config) #" Nämä merkit ilmestyivät, kun annoin IP-osoitteen ja kirjoitin.

johtopäätös:

Komentosarjaa kirjoitettaessa ja suoritettaessa on noudatettava sääntöä: Skriptin kirjoittamiseen ja skriptin suorittamiseen käytettävä aika ei saa koskaan olla enemmän kuin aika, joka teoreettisesti kuluu saman työn tekemiseen manuaalisesti (kopioi / liitä muistilehtiöstä, kirjoittaminen ja virheenkorjaus) leikkikirja ansible-, kirjoitus- ja virheenkorjauspython-skriptille). Toisin sanoen komentosarjan käytön pitäisi säästää aikaa eikä tuhlata aikaa prosessien kertaluonteiseen automatisointiin (eli kun komentosarja on ainutlaatuinen ja toistoa ei enää ole). Mutta jos skripti on ainutlaatuinen ja skriptin automatisointi ja skriptin kirjoittaminen/virheenkorjaus vie vähemmän aikaa kuin sen tekeminen millään muulla tavalla (mahdollinen, komentoikkuna), niin komentosarja on paras ratkaisu.
Skriptin virheenkorjaus. Skripti kasvaa vähitellen, virheenkorjaus tapahtuu ensimmäisen, toisen ja kolmannen laitteen ajon aikana, ja neljännellä skripti on todennäköisesti täysin toimintakunnossa.

Skriptin suorittaminen (näppäilemällä käyttäjätunnus+salasana) hiirellä on yleensä nopeampaa kuin käyttäjänimen ja salasanan kopioiminen muistikirjasta. Mutta se ei ole turvallista turvallisuuden kannalta.
Toinen (todellinen) esimerkki komentosarjan käytöstä: Sinulla ei ole suoraa pääsyä verkkolaitteisiin. Mutta kaikki verkkolaitteet on konfiguroitava (tuo ne valvontajärjestelmään, määritä ylimääräinen käyttäjätunnus/salasana/snmpv3-käyttäjänimi/salasana). Pääsy on, kun siirryt Core-kytkimelle, josta avaat SSH:n muille laitteille. Miksi et voi käyttää Ansiblea. - Koska kohtaamme rajoituksen sallittujen samanaikaisten istuntojen lukumäärässä verkkolaitteissa (linja vty 0 4, käyttöliittymä vty 0 4) (toinen kysymys on, kuinka käynnistää eri laitteet Ansiblessa samalla SSH:n ensimmäisellä hyppyllä).

Skripti vähentää aikaa pitkien toimintojen aikana - esimerkiksi kopioitaessa tiedostoja FTP:n kautta. Kun kopiointi on valmis, skripti alkaa toimia välittömästi. Henkilön täytyy nähdä kopioinnin loppu, sitten ymmärtää kopioinnin loppu ja antaa sitten asianmukaiset komennot. Käsikirjoitus tekee sen objektiivisesti nopeammin.

Komentosarjoja voidaan käyttää silloin, kun on mahdotonta käyttää massatiedonvälitystyökaluja: Konsoli. Tai kun jotkin laitteen tiedoista ovat ainutlaatuisia: isäntänimi, hallinnan IP-osoite. Tai ohjelman kirjoittaminen ja virheenkorjaus on vaikeampaa kuin laitteelta vastaanotettujen tietojen lisääminen komentosarjan ollessa käynnissä. - Esimerkki komentosarjasta reitin määräämiseen, kun jokaisella laitteella on oma Internet-palveluntarjoajan IP-osoite. (Kollegani kirjoittivat tällaisia ​​skriptejä - kun DMVPN-puhuja oli yli 3. Oli tarpeen muuttaa DMVPN-asetuksia).

Tapaustutkimus: Uuden kytkimen alkuasetusten määrittäminen konsolin porttien avulla:

A. Kytke konsolin kaapeli laitteeseen.
B. Suorita komentosarja
B. Odotin käsikirjoituksen suorittamista
D. Kytke konsolin kaapeli seuraavaan laitteeseen.
E. Jos kytkin ei ole viimeinen, siirry vaiheeseen B.

Käsikirjoitustyön tuloksena:

  • alkuperäinen salasana on asetettu laitteeseen.
  • Käyttäjätunnus syötetty
  • laitteen yksilöllinen IP-osoite syötetään.

PS toimenpide piti toistaa. Koska oletus-ssh:tä ei ole määritetty/poistettu käytöstä. (Kyllä, tämä on minun virheeni.)

Käytetyt lähteet.

1. Tietoja skriptien luomisesta
2. Käsikirjoitusesimerkkejä

Liite 1: Esimerkkiskriptit.


Esimerkki pitkästä komentosarjasta, jossa on kaksi kyselyä: Isäntänimi ja IP-osoite. Se luotiin laitteiden esiasetusta varten konsolin kautta (9600 baudia). Ja myös valmistella laitteiden liittäminen verkkoon.

# $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()

Tällaisia ​​skriptejä ei yleensä tarvita, mutta laitteiden määrä on 15 kpl. Sallittu nopeampi asennus. Laitteiden määrittäminen SecureCRT Command -ikkunan avulla oli nopeampaa.

Tilin luominen ssh:lle.

Toinen esimerkki. Asetukset tehdään myös konsolin kautta.

# $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()


Tietoja SecureCRT:stä:Maksullinen ohjelmisto: alkaen 99 dollaria (pienin hinta on vain SecureCRT:lle vuodeksi)
Virallinen sivusto
Ohjelmistolisenssi ostetaan kerran tuella (päivitystä varten), jonka jälkeen ohjelmistoa käytetään tämän lisenssin kanssa rajoittamattoman ajan.

Toimii Mac OS X- ja Windows-käyttöjärjestelmissä.

Siellä on komentosarjatuki (tämä artikkeli)
On Komento-ikkuna
Serial/Telnet/SSH1/SSH2/Shell-käyttöjärjestelmä

Lähde: will.com