Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau

Yn aml mae gan beirianwyr rhwydwaith y dasg o gopïo / gludo rhai darnau o Notepad i'r consol. Fel arfer mae'n rhaid i chi gopïo sawl paramedr: Enw Defnyddiwr / Cyfrinair a rhywbeth arall. Mae defnyddio sgriptiau yn eich galluogi i gyflymu'r broses hon. OND dylai'r dasg o ysgrifennu sgript a gweithredu'r sgript gymryd llai o amser i gyd na'i gosod â llaw, fel arall mae'r sgriptiau'n ddiwerth.

Beth yw pwrpas yr erthygl hon? Daw'r erthygl hon o'r gyfres Fast Start a'i nod yw arbed amser i beirianwyr rhwydwaith wrth osod offer (un dasg) ar sawl dyfais. Defnyddir meddalwedd SecureCRT ac ymarferoldeb gweithredu sgriptiau adeiledig.

Cynnwys

Cyflwyniad

Mae gan raglen SecureCRT fecanwaith gweithredu sgript wedi'i ymgorffori allan o'r blwch. Ar gyfer beth mae angen sgriptiau yn y derfynell:

  • Mewnbwn ac allbwn awtomataidd, ac ychydig iawn o ddilysu mewnbwn/allbwn.
  • Cyflymu tasgau arferol trwy leihau seibiannau rhwng gosod offer. (Gostyngiad de facto o seibiau a achosir gan yr amser i berfformio copi / gweithredoedd yn y gorffennol ar yr un offer, gyda 3 neu fwy o ddarnau gorchymyn i'w rhoi ar yr offer.)

Mae’r ddogfen hon yn ymdrin â’r tasgau canlynol:

  • Creu sgriptiau syml.
  • Rhedeg sgriptiau ar SecureCRT.
  • Enghreifftiau o ddefnyddio sgriptiau syml ac uwch. (Ymarfer bywyd go iawn.)

Creu sgriptiau syml.

Mae'r sgriptiau symlaf yn defnyddio dau orchymyn yn unig: Anfon a WaitForString. Mae'r swyddogaeth hon yn ddigon ar gyfer 90% (neu fwy) o'r tasgau a gyflawnir.

Gall sgriptiau redeg yn Python, JS, VBS (Visual Basic), Perl, ac ati.

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

Yn nodweddiadol ffeil gyda'r estyniad “*.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

Yn nodweddiadol ffeil gyda'r estyniad "*.vbs"

Creu sgript gan ddefnyddio recordiad sgript.

Yn eich galluogi i awtomeiddio'r broses o ysgrifennu sgript. Rydych chi'n dechrau recordio'r sgript. Mae SecureCRT yn cofnodi gorchmynion a'r ymateb dilynol o'r offer ac yn dangos y sgript orffenedig i chi.

A. Rhedeg recordiad sgript:
Dewislen SecureCRT => Sgript => Dechrau Recordio Sgript
b. Perfformio gweithredoedd consol (perfformio gweithredoedd ffurfweddu yn y CLI).
V. Gorffen recordio'r sgript:
Dewislen SecureCRT => Sgript => Stopio Recordio Sgript…
Arbedwch y ffeil gyda'r sgript.

Enghraifft o orchmynion a weithredwyd a sgript wedi'i chadw:

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau

Rhedeg sgriptiau ar SecureCRT.

Ar ôl creu/golygu sgript, cyfyd cwestiwn rhesymegol: Sut i gymhwyso'r sgript?
Mae yna sawl ffordd:

  • Rhedeg â llaw o'r ddewislen Sgript
  • Cychwyn awtomatig ar ôl cysylltiad (sgript mewngofnodi)
  • Mewngofnodi awtomatig heb ddefnyddio sgript
  • Lansio â llaw gan ddefnyddio botwm yn SecureCRT (mae'r botwm eto i'w greu a'i ychwanegu at SecureCRT)

Rhedeg â llaw o'r ddewislen Sgript

Dewislen SecureCRT => Sgript => Rhedeg…
— Mae'r 10 sgript olaf yn cael eu cofio ac ar gael i'w lansio'n gyflym:
Dewislen SecureCRT => Sgript => 1 “Enw ffeil sgript”
Dewislen SecureCRT => Sgript => 2 “Enw ffeil sgript”
Dewislen SecureCRT => Sgript => 3 “Enw ffeil sgript”
Dewislen SecureCRT => Sgript => 4 “Enw ffeil sgript”
Dewislen SecureCRT => Sgript => 5 “Enw ffeil sgript”

Cychwyn awtomatig ar ôl cysylltiad (sgript mewngofnodi)

Mae'r gosodiadau sgript logio awtomatig wedi'u ffurfweddu ar gyfer y sesiwn sydd wedi'i chadw: Cysylltiad => Gweithrediadau Logio => Sgript mewngofnodi

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau

Mewngofnodi awtomatig heb ddefnyddio sgript

Mae'n bosibl nodi enw defnyddiwr a chyfrinair yn awtomatig heb ysgrifennu sgript, gan ddefnyddio swyddogaeth adeiledig SecureCRT yn unig. Yn y gosodiadau cysylltiad “Cysylltiad” => Logio Camau Gweithredu => Awtomeiddio mewngofnodi - mae angen i chi lenwi sawl cysylltedd - sy'n awgrymu parau: “Testun disgwyliedig” + “Anfon nodau ar gyfer y testun hwn” gall fod llawer o barau o'r fath. (Enghraifft: mae pâr 1af yn aros i'r enw defnyddiwr gael ei nodi, mae'r ail yn aros i'r cyfrinair gael ei nodi, mae'r trydydd yn aros am wahoddiad i'r modd breintiedig, mae'r pedwerydd yn aros am y cyfrinair o'r modd breintiedig.)

Enghraifft o fewngofnodi awtomatig ar Cisco ASA:

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau

Lansio â llaw gan ddefnyddio botwm yn SecureCRT (mae'r botwm eto i'w greu a'i ychwanegu at SecureCRT)

Yn SecureCRT gallwch aseinio sgript i fotwm. Ychwanegir y botwm at banel a grëwyd yn arbennig at y diben hwn.

A. Ychwanegu panel i'r rhyngwyneb: SecureCRT Menu => Gweld => Bar Botwm
b. Ychwanegu botwm i'r panel ac ychwanegu sgript. - De-gliciwch ar y Bar Botwm a dewis “Botwm Newydd…” o'r ddewislen cyd-destun.
V. Yn y blwch deialog “Map Button”, yn y maes “Gweithredu”, dewiswch y weithred “Run Script” (swyddogaeth).
Nodwch gapsiwn ar gyfer y botwm. Lliw ar gyfer yr eicon botwm. Gorffennwch y gosodiadau trwy glicio Iawn.

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau

Nodyn:

Mae'r panel gyda botymau yn swyddogaeth ddefnyddiol iawn.

1. Mae'n bosibl, pan Logion i sesiwn benodol, i nodi pa banel i agor yn ddiofyn ar gyfer y tab hwn.

2. Mae'n bosibl gosod camau gweithredu rhagosodol ar gyfer camau gweithredu safonol gyda chyfarpar: dangos fersiwn, dangos rhedeg-config, arbed cyfluniad.

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau
Nid oes sgript ynghlwm wrth y botymau hyn. Dim ond y llinell gyda chamau gweithredu:

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau
Gosod - fel bod y panel angenrheidiol gyda botymau yn agor wrth newid i sesiwn, gwneir hyn yn y gosodiadau sesiwn:

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau
Mae'n gwneud synnwyr i'r cwsmer sefydlu sgriptiau unigol ar gyfer Mewngofnodi a newid i banel gyda gorchmynion aml ar gyfer y gwerthwr.

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau
Pan gliciwch ar y botwm Go Cisco, mae'r panel yn newid i Far Botwm Cisco.

Awtomeiddio Mynediad yn SecureCRT gan Ddefnyddio Sgriptiau

Enghreifftiau o ddefnyddio sgriptiau syml ac uwch. (Ymarfer bywyd go iawn.)

Mae sgriptiau syml yn ddigon ar gyfer bron bob achlysur. Ond unwaith roedd angen i mi gymhlethu'r sgript ychydig - i gyflymu'r gwaith. Roedd y cymhlethdod hwn yn syml yn gofyn am ddata ychwanegol gan y defnyddiwr mewn blwch deialog.

Annog y defnyddiwr am ddata gan ddefnyddio blwch deialog

Roedd gen i 2 gais data yn fy sgript, sef yr Enw Gwesteiwr a'r 4ydd wythfed o'r cyfeiriad IP. I gyflawni'r weithred hon, fe wnes i googled sut i wneud hynny a dod o hyd iddo ar wefan swyddogol SecureCRT (vandyke). – gelwir y swyddogaeth yn brydlon.

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

Gofynnodd y rhan hon o'r sgript am yr Enw Gwesteiwr a'r rhifau o'r wythawd olaf. Oherwydd roedd 15 darn o offer. A chyflwynwyd y data mewn tabl, yna fe wnes i gopïo'r gwerthoedd o'r tabl a'u gludo i mewn i'r blychau deialog. Yna gweithiodd y sgript yn annibynnol.

Copïo FTP i offer rhwydwaith.

Lansiodd y sgript hon fy ffenestr gorchymyn (cragen) a chopïo data trwy FTP. Ar ôl ei gwblhau, caeais y sesiwn. Mae'n amhosibl defnyddio llyfr nodiadau ar gyfer hyn, oherwydd mae copïo'n cymryd amser hir iawn ac ni fydd y data yn y byffer FTP yn cael ei storio cyhyd:

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

Mewnbynnu enw defnyddiwr/cyfrinair gan ddefnyddio sgript

Ar gyfer un cwsmer, rhwystrwyd mynediad i offer rhwydwaith yn uniongyrchol. Roedd yn bosibl cael mynediad i'r offer trwy gysylltu yn gyntaf â'r Porth Diofyn, ac oddi yno wedyn i'r offer a oedd yn gysylltiedig ag ef. I gysylltu, fe wnaethom ddefnyddio'r cleient ssh sydd wedi'i ymgorffori yn y meddalwedd IOS/caledwedd. Yn unol â hynny, gofynnwyd am yr enw defnyddiwr a chyfrinair yn y consol. Gan ddefnyddio'r sgript isod, rhoddwyd yr enw defnyddiwr a'r cyfrinair yn awtomatig:

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

Nodyn: Roedd 2 sgript. Un ar gyfer y cyfrif gweinyddwr, yr ail ar gyfer y cyfrif eSIGHT.

Sgript gyda'r gallu i atodi data yn uniongyrchol wrth weithredu sgript.

Y dasg oedd ychwanegu llwybr sefydlog at yr holl offer rhwydwaith. Ond roedd gan bob offer ei borth Rhyngrwyd ei hun (ac roedd yn wahanol i'r porth rhagosodedig). Roedd y sgript ganlynol yn dangos y tabl llwybro, wedi'i nodi yn y modd ffurfweddu a chwblhau'r gorchymyn (cyfeiriad IP y porth Rhyngrwyd) - cwblheais y rhan hon. Ar ôl i mi bwyso Enter, parhaodd y sgript i weithredu'r gorchymyn.

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

Yn y sgript hon, yn y llinell: crt.Screen.Send(“llwybr ip 10.10.10.8 255.255.255.252„), ni ychwanegir cyfeiriad IP y porth ac mae nod dychwelyd y cerbyd ar goll. Mae'r sgript yn aros i'r llinell nesaf gyda'r symbolau “(config) #” ymddangos. Ymddangosodd y symbolau hyn ar ôl i mi nodi'r cyfeiriad IP a mynd i mewn.

casgliad:

Wrth ysgrifennu sgript a'i chyflawni, yn sicr rhaid dilyn y rheol: Ni ddylai'r amser ar gyfer ysgrifennu sgript a gweithredu sgript byth fod yn fwy na'r amser a dreulir yn ddamcaniaethol yn gwneud yr un gwaith â llaw (copïo / pastio o'r llyfr nodiadau, ysgrifennu a dadfygio llyfr chwarae am ansible, ysgrifennu a dadfygio python script). Hynny yw, dylai defnyddio sgript arbed amser, a pheidio â gwastraffu amser ar awtomeiddio prosesau un-amser (h.y., pan fydd y sgript yn unigryw ac na fydd yn cael ei hailadrodd mwyach). Ond os yw'r sgript yn unigryw ac mae awtomeiddio gyda sgript ac ysgrifennu / dadfygio sgript yn cymryd llai o amser na gweithredu mewn unrhyw ffordd arall (sible, ffenestr orchymyn), yna sgript yw'r ateb gorau.
Dadfygio'r sgript. Mae'r sgript yn tyfu'n raddol, mae dadfygio yn digwydd yn ystod profion ar y ddyfais gyntaf, ail, trydydd, ac erbyn y bedwaredd bydd y sgript yn fwyaf tebygol o fod yn gweithio'n llawn.

Mae rhedeg y sgript (trwy nodi enw defnyddiwr + cyfrinair) gyda'r llygoden fel arfer yn gyflymach na chopïo Enw Defnyddiwr a Chyfrinair o'r llyfr nodiadau. Ond ddim yn ddiogel o safbwynt diogelwch.
Enghraifft arall (go iawn) wrth ddefnyddio sgript: Nid oes gennych fynediad uniongyrchol i offer rhwydwaith. Ond mae angen hefyd ffurfweddu'r holl offer rhwydwaith (rhoi i mewn i'r system fonitro, yn ogystal â ffurfweddu Enw Defnyddiwr / cyfrinair / snmpv3username / password ychwanegol). Mae mynediad pan fyddwch chi'n mewngofnodi i'r switsh Craidd ac yn agor SSH i offer arall ohono. Pam na allwch chi ddefnyddio offer Ansible. — Oherwydd ein bod yn cael ein cyfyngu gan nifer y sesiynau cydamserol a ganiateir ar offer rhwydwaith (llinell vty 0 4, rhyngwyneb defnyddiwr vty 0 4) (cwestiwn arall yw sut i gychwyn offer gwahanol yn Ansible gyda'r un hopyn cyntaf SSH).

Mae'r sgript yn lleihau amser yn ystod gweithrediadau hir, megis copïo ffeiliau trwy FTP. Ar ôl i'r copïo gael ei gwblhau, mae'r sgript yn dechrau gweithio ar unwaith. Bydd angen i berson weld diwedd y copïo, yna sylweddoli diwedd y copïo, yna nodwch y gorchmynion priodol. Mae'r sgript yn gwneud hyn yn wrthrychol yn gyflymach.

Mae sgriptiau'n berthnasol lle mae'n amhosibl defnyddio dulliau o gyflwyno data torfol: Consol. Neu pan fydd peth o'r data ar gyfer yr offer yn unigryw: enw gwesteiwr, cyfeiriad ip rheoli. Neu wrth ysgrifennu rhaglen a dadfygio mae'n anoddach nag ychwanegu data a dderbyniwyd o'r offer tra bod y sgript yn rhedeg. — Enghraifft gyda sgript ar gyfer cofrestru llwybr, pan fydd gan bob offer ei gyfeiriad IP ei hun y darparwr Rhyngrwyd. (Ysgrifennodd fy nghydweithwyr sgriptiau o'r fath pan siaradodd DMVPN oedd dros 3 cant. Roedd angen newid y gosodiadau DMVPN).

Enghraifft ymarferol: Gosod gosodiadau cychwynnol ar switsh newydd trwy borthladdoedd consol:

A. Mewnosod cebl y consol yn y ddyfais.
B. Rhedeg y sgript
B. Arhosais i'r sgript i'w chwblhau
D. Wedi cysylltu cebl y consol i'r ddyfais nesaf.
D. Os nad y switsh yw'r un olaf, ewch i bwynt B.

Cyfanswm canlyniadau'r sgript:

  • Mae'r cyfrinair cychwynnol wedi'i osod ar yr offer.
  • Enw defnyddiwr wedi'i nodi
  • Mae cyfeiriad IP unigryw y ddyfais wedi'i nodi.

P.S. bu'n rhaid ailadrodd y llawdriniaeth. Oherwydd nad oedd rhagosodiad ssh wedi'i ffurfweddu/anabl. (Ie, dyna fy nghamgymeriad.)

Ffynonellau a ddefnyddir.

1. Ynglŷn â chreu sgriptiau
2. Sgriptiau enghreifftiol

Atodiad 1: Enghreifftiau o sgriptiau.


Enghraifft o sgript hir gyda dau gais: Enw gwesteiwr a chyfeiriad IP. Wedi'i greu ar gyfer rhag-gyflunio offer trwy'r consol (9600 baud). A hefyd ar gyfer paratoi cysylltiad offer i'r rhwydwaith.

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

Fel arfer nid oes angen sgriptiau o'r fath, ond mae maint yr offer yn 15 darn. Wedi'i ganiatáu ar gyfer gosodiad cyflymach. Roedd gosod yr offer ymhellach yn gyflymach gan ddefnyddio ffenestr Gorchymyn SecureCRT.

Sefydlu cyfrif ar gyfer ssh.

Enghraifft arall. Mae cyfluniad hefyd trwy'r consol.

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


Ynglŷn â SecureCRT:Meddalwedd taledig: o $99 (pris isaf yn unig ar gyfer SecureCRT am flwyddyn)
Gwefan swyddogol
Prynir trwydded meddalwedd unwaith, gyda chefnogaeth (ar gyfer diweddaru), yna defnyddir y feddalwedd gyda'r drwydded hon am gyfnod diderfyn.

Yn gweithio ar systemau gweithredu Mac OS X a Windows.

Mae cefnogaeth sgript (yr erthygl hon)
Mae Ffenestr Gorchymyn
System Weithredu Gyfresol/Telnet/SSH1/SSH2/Shell

Ffynhonnell: hab.com