Pag-automate sa Entry sa SecureCRT Gamit ang mga Script

Ang mga inhenyero sa network kanunay nga nag-atubang sa tahas sa pagkopya / pagdikit sa pipila nga mga tipik gikan sa usa ka notepad hangtod sa console. Kasagaran kinahanglan nimo nga kopyahon ang daghang mga parameter: Username/Password ug uban pa. Ang paggamit sa mga script nagtugot kanimo sa pagpadali niini nga proseso. APAN ang mga buluhaton sa pagsulat sa script ug pagpatuman sa script kinahanglan nga gamay ra ang oras sa kinatibuk-an kaysa sa manual nga pag-configure, kung dili ang mga script wala’y kapuslanan.

Para sa unsa kini nga artikulo? Kini nga artikulo gikan sa serye sa Fast Start ug gitumong sa pagtipig sa oras sa mga network engineer kung mag-set up sa mga kagamitan (usa ka buluhaton) sa daghang mga aparato. Naggamit sa SecureCRT software ug built-in nga script execution functionality.

Mga sulod

Pasiuna

Ang SecureCRT nga programa adunay usa ka built-in nga script execution nga mekanismo sa gawas sa kahon. Para sa unsa ang mga terminal script?

  • Automated I/O, ug minimal I/O validation.
  • Pagpadali sa pagpatuman sa naandan nga mga buluhaton - pagkunhod sa mga paghunong tali sa mga setting sa kagamitan. (De facto nga pagkunhod sa mga paghunong tungod sa oras sa paghimo sa kopya/kaniadto nga mga aksyon sa parehas nga hardware, nga adunay 3 o daghan pa nga mga tipik sa command nga magamit sa hardware.)

Kini nga dokumento naglangkob sa mga buluhaton:

  • Paghimo sa yano nga mga script.
  • Pagpadagan sa mga script sa SecureCRT.
  • Mga pananglitan sa paggamit sa yano ug advanced nga mga script. (Pagpraktis gikan sa tinuod nga kinabuhi.)

Paghimo sa yano nga mga script.

Ang pinakasimple nga mga script naggamit lamang og duha ka mga sugo, Send ug WaitForString. Kini nga gamit igo na alang sa 90% (o labaw pa) sa mga buluhaton nga gihimo.

Ang mga script mahimong magamit sa Python, JS, VBS (Visual Basic), Perl, ug uban pa.

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

Kasagaran usa ka file nga adunay extension nga "*.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

Kasagaran usa ka file nga adunay extension nga "*.vbs"

Paghimo og script gamit ang script entry.

Nagtugot kanimo sa pag-automate sa proseso sa pagsulat sa usa ka script. Giunsa nimo pagsulat ang usa ka script. Girekord sa SecureCRT ang mga sugo ug ang sunod nga tubag sa hardware ug gipakita ang nahuman nga script para kanimo.

A. Giunsa pagsulat ang script:
SecureCRT Menu => Script => Sugdi ang Recording Script
b. Paghimo mga aksyon gamit ang console (pagbuhat mga lakang sa pag-configure sa CLI).
V. Tapusa ang pagsulat sa script:
SecureCRT Menu => Script => Hunonga ang Recording Script...
I-save ang script file.

Pananglitan sa gipatuman nga mga sugo ug gitipigan nga script:

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script

Pagpadagan sa mga script sa SecureCRT.

Human sa paghimo/pag-edit sa script, mitungha ang natural nga pangutana: Giunsa paggamit ang script?
Adunay daghang mga paagi:

  • Pagdagan nga mano-mano gikan sa menu sa Script
  • Awtomatikong pagsugod human sa koneksyon (logon script)
  • Awtomatikong pag-logon nga wala mogamit usa ka script
  • Manwal nga pag-trigger gamit ang usa ka buton sa SecureCRT (usa ka buton wala pa mabuhat ug idugang sa SecureCRT)

Pagdagan nga mano-mano gikan sa menu sa Script

SecureCRT Menu => Script => Run…
- Ang katapusan nga 10 nga mga script nahinumduman ug magamit alang sa dali nga paglansad:
SecureCRT menu => Script => 1 "Ngalan sa file sa script"
SecureCRT menu => Script => 2 "Ngalan sa file sa script"
SecureCRT menu => Script => 3 "Ngalan sa file sa script"
SecureCRT menu => Script => 4 "Ngalan sa file sa script"
SecureCRT menu => Script => 5 "Ngalan sa file sa script"

Awtomatikong pagsugod human sa koneksyon (logon script)

Ang mga setting sa awtomatikong pag-log script gi-configure para sa gitipigan nga sesyon: Koneksyon => Logon Actions => Logon script

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script

Awtomatikong pag-logon nga wala mogamit usa ka script

Posible nga awtomatiko nga mosulod sa username sa password nga wala magsulat og script, gamit lamang ang built-in nga gamit sa SecureCRT. Sa mga setting sa koneksyon "Koneksyon" => Mga Aksyon sa Logon => I-automate ang pag-logon - kinahanglan nimo nga pun-on ang daghang mga bundle - nga nagpasabut sa mga pares: "Gipaabot nga teksto" + "Gipadala nga mga karakter sa kini nga teksto" mahimong adunay daghang ingon nga mga pares. (Pananglitan: 1st pares naghulat alang sa username, ikaduha nga naghulat alang sa password, ikatulo nga naghulat alang sa privileged mode prompt, ikaupat nga pares alang sa privileged mode password.)

Pananglitan sa awtomatikong pag-logon sa Cisco ASA:

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script

Manwal nga pag-trigger gamit ang usa ka buton sa SecureCRT (usa ka buton wala pa mabuhat ug idugang sa SecureCRT)

Sa SecureCRT, mahimo nimong i-assign ang usa ka script sa usa ka buton. Ang buton gidugang sa usa ka panel nga espesyal nga gihimo alang niini nga katuyoan.

A. Pagdugang ug panel sa interface: SecureCRT Menu => View => Button Bar
b. Pagdugang usa ka buton sa panel ug pagdugang usa ka script. - Pag-right-click sa Button Bar ug pilia ang "Bag-ong buton ..." gikan sa menu sa konteksto.
V. Sa "Map Button" dialog box, sa "Action" field, pilia ang "Run Script" action (function).
Itakda ang usa ka caption alang sa buton. Ang kolor sa icon sa buton. Tapuson ang mga setting pinaagi sa pag-klik Ok.

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script

Mubo nga sulat:

Ang panel nga adunay mga buton mapuslanon kaayo nga gamit.

1. Kini mao ang posible nga, sa diha nga Logon sa usa ka piho nga sesyon, sa piho nga panel sa pag-abli niini nga tab sa default.

2. Posible nga itakda ang gitakda nang daan nga mga aksyon alang sa standard nga mga aksyon nga adunay kagamitan: ipakita ang bersyon sa pagpakita, ipakita ang running-config, i-save ang configuration.

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script
Walay script nga gilakip niini nga mga buton. Linya sa aksyon lamang:

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script
Pagbutang - aron kung magbalhin sa usa ka sesyon, ang kinahanglan nga panel nga adunay mga buton magbukas sa mga setting sa sesyon:

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script
Makataronganon alang sa kustomer nga mag-set up sa indibidwal nga mga script para sa Login ug moadto sa panel nga adunay kanunay nga mga mando alang sa vendor.

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script
Kung imong gipugos ang Go Cisco button, ang panel mobalhin sa Cisco Button Bar.

Pag-automate sa Entry sa SecureCRT Gamit ang mga Script

Mga pananglitan sa paggamit sa yano ug advanced nga mga script. (Pagpraktis gikan sa tinuod nga kinabuhi.)

Ang yano nga mga script igo na alang sa hapit tanan nga mga okasyon. Apan sa higayon nga kinahanglan nako nga komplikado ang script sa gamay - aron mapadali ang trabaho. Kini nga komplikasyon nangayo lang og dugang nga datos sa usa ka dialog box gikan sa user.

Paghangyo og datos gikan sa user gamit ang dialog box

Naa koy 2 sa data request script.Kini ang Hostname ug ang ika-4 nga octet sa IP address. Aron mahimo kini nga aksyon - Gi-google ko kung giunsa kini buhaton ug nakit-an kini sa opisyal nga website sa SecureCRT (vandyke). - ang pag-andar gitawag nga prompt.

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

Kini nga bahin sa script nangayo alang sa Hostname ug mga numero gikan sa katapusan nga octet. Tungod kay adunay 15 ka piraso sa kagamitan. Ug ang datos gipresentar sa usa ka lamesa, dayon gikopya nako ang mga kantidad gikan sa lamesa ug gipapilit kini sa mga kahon sa diyalogo. Dugang pa, ang script nagtrabaho nga independente.

Pagkopya sa FTP sa kagamitan sa network.

Gilunsad niini nga script ang akong command window (shell) ug gikopya ang datos pinaagi sa FTP. Sa katapusan, isira ang sesyon. Imposible nga gamiton ang notepad alang niini, tungod kay ang pagkopya nagkinahanglan og taas nga panahon ug ang datos sa FTP buffer dili matipigan sa ingon kadugay:

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

Pagsulod sa username/password gamit ang script

Sa usa ka customer nga access sa network ekipo direkta sirado. Posible nga mosulod sa kagamitan pinaagi sa una nga pagkonektar sa Default Gateway, ug gikan niini dayon sa kagamitan nga konektado niini. Ang ssh nga kliyente nga gitukod sa IOS/hardware software gigamit sa pagkonektar. Tungod niini, ang username ug password gihangyo sa console. Uban sa script sa ubos, ang username ug password awtomatik nga gisulod:

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

Nota: Adunay 2 ka script. Usa para sa administrator account, ang ikaduha para sa eSIGHT account.

Ang script nga adunay katakus sa direkta nga pagdugang data sa panahon sa pagpatuman sa script.

Ang tahas mao ang pagdugang usa ka static nga ruta sa tanan nga kagamitan sa network. Apan ang ganghaan sa Internet sa matag kagamitan lahi (ug lahi kini sa default gateway). Ang mosunod nga script nagpakita sa routing table, misulod sa configuration mode, wala isulat ang command hangtod sa katapusan (ang IP address sa gateway sa Internet) - Gidugang nako kini nga bahin. Pagkahuman nako gipugos ang Enter, ang script nagpadayon sa pagpatuman sa mando.

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

Niini nga script, sa linya: crt.Screen.Send("ip route 10.10.10.8 255.255.255.252") ang IP address sa gateway wala gidugang ug walay carriage return character. Naghulat ang script sa sunod nga linya nga adunay mga karakter nga "(config) #" Kini nga mga karakter nagpakita pagkahuman nako pagsulod sa ip address ug pagsulod.

Konklusyon:

Sa pagsulat sa usa ka script ug pagpatuman niini, ang lagda kinahanglan sundon: Ang oras sa pagsulat sa usa ka script ug pagpatuman sa usa ka script dili kinahanglan nga labaw pa sa oras nga gigugol sa teorya sa pagbuhat sa parehas nga trabaho nga mano-mano (kopya / idikit gikan sa usa ka notepad, pagsulat ug pag-debug usa ka playbook alang sa ansible, pagsulat ug pag-debug sa script sa python). Sa ato pa, ang paggamit sa script kinahanglan nga makadaginot sa oras, ug dili mag-usik sa oras sa usa ka higayon nga automation sa mga proseso (sa ato pa, kung ang script talagsaon ug wala nay pagbalik-balik). Apan kung ang script talagsaon ug ang automation sa script ug pagsulat / pag-debug sa script nagkinahanglag gamay nga oras kaysa pagbuhat niini sa bisan unsang paagi (ansible, command window), nan ang script mao ang labing kaayo nga solusyon.
Pag-debug sa usa ka script. Ang script anam-anam nga mitubo, ang pag-debug mahitabo sa run-in sa una, ikaduha, ikatulo nga device, ug sa ikaupat ang script lagmit hingpit nga magamit.

Ang pagpadagan sa script (pinaagi sa pagsulod sa username+password) gamit ang mouse kasagaran mas paspas kaysa pagkopya sa Username ug Password gikan sa notepad. Apan dili luwas gikan sa usa ka punto sa seguridad.
Laing (tinuod) nga pananglitan kung mogamit usa ka script: Wala ka direktang pag-access sa kagamitan sa network. Apan adunay kinahanglan nga i-configure ang tanan nga kagamitan sa network (dad-a kini sa sistema sa pag-monitor, i-configure ang dugang nga Username/password/snmpv3username/password). Adunay pag-access kung moadto ka sa Core switch, gikan niini imong ablihan ang SSH sa ubang mga kagamitan. Ngano nga dili nimo magamit ang Ansible. - Tungod kay kita modagan ngadto sa usa ka limitasyon sa gidaghanon sa gitugotan nga dungan nga mga sesyon sa network ekipo (linya vty 0 4, user-interface vty 0 4) (laing pangutana mao kon sa unsang paagi sa pagsugod sa lain-laing mga ekipo sa Ansible uban sa sama nga SSH unang hop).

Ang script nagpamenos sa oras sa taas nga mga operasyon - pananglitan, pagkopya sa mga file pinaagi sa FTP. Human makompleto ang pagkopya, ang script magsugod dayon sa pagtrabaho. Kinahanglan nga makita sa usa ka tawo ang katapusan sa pagkopya, dayon mahibal-an ang katapusan sa pagkopya, dayon isulod ang angay nga mga mando. Ang script naghimo niini nga mas paspas.

Ang mga script magamit kung diin imposible nga magamit ang mga gamit sa paghatod sa mass data: Console. O kung ang pipila sa mga datos alang sa kagamitan talagsaon: hostname, management ip address. O sa pagsulat sa usa ka programa ug pag-debug mas lisud kay sa pagdugang sa datos nga nadawat gikan sa kagamitan samtang ang script nagdagan. - Usa ka pananglitan nga adunay script alang sa pagreseta sa usa ka ruta, kung ang matag kagamitan adunay kaugalingon nga IP address sa Internet provider. (Gisulat sa akong mga kauban ang ingon nga mga script - kung ang pagsulti sa DMVPN sobra sa 3. Kinahanglan nga usbon ang mga setting sa DMVPN).

Pagtuon sa Kaso: Pag-configure sa Inisyal nga Mga Setting sa Bag-ong Switch Gamit ang Console Ports:

A. Gisaksak ang console cable ngadto sa device.
B. Ipadagan ang script
B. Naghulat alang sa pagpatuman sa script
D. Gisaksak ang console cable ngadto sa sunod nga device.
E. Kung ang switch dili ang katapusan, adto sa lakang B.

Ingon usa ka sangputanan sa buhat sa script:

  • ang inisyal nga password gibutang sa ekipo.
  • Gisulod ang username
  • ang talagsaong IP address sa device gisulod.

PS kinahanglan nga balikon ang operasyon. Tungod kay ang Default nga ssh wala gi-configure / gi-disable. (Oo, kini ang akong sayop.)

Gigamit nga mga tinubdan.

1. Mahitungod sa paghimo og mga script
2. Mga pananglitan sa script

Apendise 1: Sampol nga mga script.


Usa ka pananglitan sa taas nga script, nga adunay duha ka pangutana: Hostname ug IP address. Gibuhat kini alang sa pag-preset sa mga kagamitan pinaagi sa console (9600 baud). Ug usab sa pag-andam sa koneksyon sa mga ekipo ngadto sa network.

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

Ang ingon nga mga script kasagaran dili kinahanglan, apan ang kantidad sa kagamitan mao ang 15 pcs. Gitugotan ang mas paspas nga pag-setup. Mas paspas ang pag-set up sa kagamitan gamit ang SecureCRT Command window.

Pag-set up og account para sa ssh.

Laing pananglitan. Ang pag-configure pinaagi usab sa console.

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


Mahitungod sa SecureCRT:Bayad nga software: gikan sa $99 (ang pinakagamay nga presyo para lang sa SecureCRT sulod sa usa ka tuig)
Opisyal nga website
Ang usa ka lisensya sa software gipalit kausa, nga adunay suporta (alang sa pag-update), unya ang software gigamit sa kini nga lisensya sa usa ka walay kinutuban nga oras.

Nagtrabaho sa Mac OS X ug Windows operating system.

Adunay suporta sa script (kini nga artikulo)
Adunay command window
Serial/Telnet/SSH1/SSH2/Shell Operating System

Source: www.habr.com