د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل

د شبکې انجینران اکثرا د نوټ پیډ څخه کنسول ته د ځینې برخو کاپي / پیسټ کولو دندې سره مخ دي. تاسو معمولا باید ډیری پیرامیټونه کاپي کړئ: کارن نوم / پټنوم او بل څه. د سکریپټونو کارول تاسو ته اجازه درکوي چې دا پروسه ګړندۍ کړئ. مګر د سکریپټ لیکلو او د سکریپټ اجرا کول باید د لاسي ترتیب په پرتله لږ وخت ونیسي، که نه نو سکریپټونه بې ګټې دي.

دا مقاله د څه لپاره ده؟ دا مقاله د فاسټ سټارټ لړۍ څخه ده او هدف یې د شبکې انجینرانو وخت خوندي کول دي کله چې په ډیری وسیلو کې د تجهیزاتو (واحد دنده) تنظیم کول. د SecureCRT سافټویر او جوړ شوي سکریپټ اجرا کولو فعالیت کاروي.

منځپانګې

پېژندنه

د SecureCRT برنامه د بکس څخه بهر یو جوړ شوی سکریپټ اجرا کولو میکانیزم لري. ترمینل سکریپټونه د څه لپاره دي؟

  • اتوماتیک I/O، او لږترلږه I/O تایید.
  • د ورځني دندو اجرا کول ګړندي کړئ - د تجهیزاتو تنظیماتو ترمینځ وقفې کمول. (په حقیقت کې د وقفې کمول په ورته هارډویر کې د کاپي / تیرو کړنو ترسره کولو لپاره د وخت له امله رامینځته شوي ، په هارډویر کې د 3 یا ډیرو کمانډ ټوټې پلي کیدو سره.)

دا سند دندې پوښي:

  • د ساده سکریپټونو جوړول.
  • په SecureCRT کې سکریپټونه چلول.
  • د ساده او پرمختللي سکریپټونو کارولو مثالونه. (د حقیقي ژوند څخه تمرین وکړئ.)

د ساده سکریپټونو جوړول.

تر ټولو ساده سکریپټ یوازې دوه کمانډونه کاروي، Send او WaitForString. دا فعالیت د ترسره شوي دندو 90٪ (یا ډیرو) لپاره کافي دی.

سکریپټونه کولی شي په Python، JS، VBS (Visual Basic)، Perl، او داسې نور کې کار وکړي.

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

معمولا یو فایل د تمدید سره "*.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

معمولا یو فایل د تمدید سره "*.vbs"

د سکریپټ ننوتلو په کارولو سره سکریپټ جوړ کړئ.

تاسو ته اجازه درکوي د سکریپټ لیکلو پروسه اتومات کړئ. تاسو د سکریپټ لیکل پیل کړئ. SecureCRT کمانډونه او ورپسې هارډویر غبرګون ثبتوي او ستاسو لپاره بشپړ شوی سکریپټ ښیې.

الف د سکریپټ لیکل پیل کړئ:
د خوندي CRT مینو => سکریپټ => د ثبت پیل پیل کړئ
ب. د کنسول سره عملونه ترسره کړئ (په CLI کې د ترتیب کولو مرحلې ترسره کړئ).
وی. د لیکنې لیکل پای ته ورسوئ:
SecureCRT مینو => سکریپټ => د سکریپټ ثبت کول بند کړئ…
د سکریپټ فایل خوندي کړئ.

د اجرا شوي حکمونو او خوندي شوي سکریپټ بیلګه:

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل

په SecureCRT کې سکریپټونه چلول.

د سکریپټ له جوړولو/ایډیټ کولو وروسته، یوه طبیعي پوښتنه راپورته کیږي: سکریپټ څنګه پلي کول؟
دلته ډیری لارې شتون لري:

  • د سکریپټ مینو څخه په لاسي ډول چلول
  • د پیوستون وروسته اتوماتیک پیل (لاګون سکریپټ)
  • د سکریپټ کارولو پرته اتوماتیک ننوتل
  • په SecureCRT کې د تڼۍ سره په لاسي ډول حرکت کول (یو تڼۍ لا تر اوسه جوړه شوې او په SecureCRT کې اضافه شوې)

د سکریپټ مینو څخه په لاسي ډول چلول

SecureCRT مینو => سکریپټ => چلول…
- وروستي 10 سکریپټونه په یاد دي او د چټک لانچ لپاره شتون لري:
SecureCRT مینو => سکریپټ => 1 "د سکریپټ فایل نوم"
SecureCRT مینو => سکریپټ => 2 "د سکریپټ فایل نوم"
SecureCRT مینو => سکریپټ => 3 "د سکریپټ فایل نوم"
SecureCRT مینو => سکریپټ => 4 "د سکریپټ فایل نوم"
SecureCRT مینو => سکریپټ => 5 "د سکریپټ فایل نوم"

د پیوستون وروسته اتوماتیک پیل (لاګون سکریپټ)

د خوندي شوي ناستې لپاره د اتوماتیک لاګنګ سکریپټ تنظیمات ترتیب شوي: پیوستون => د ننوتلو عمل => د ننوتلو سکریپټ

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل

د سکریپټ کارولو پرته اتوماتیک ننوتل

دا ممکنه ده چې په اتوماتيک ډول د سکریپټ لیکلو پرته د پټنوم کارونکي نوم دننه کړئ، یوازې د SecureCRT جوړ شوي فعالیت په کارولو سره. د پیوستون په ترتیباتو کې "کنکشن" => د لوګون عمل => اتوماتیک لاګون - تاسو اړتیا لرئ څو بنډلونه ډک کړئ - چې د جوړو معنی لري: "متوقع متن" + "دې متن ته حروف لیږل شوي" ډیری داسې جوړې شتون لري. (مثال: لومړۍ جوړه د کارن-نوم لپاره انتظار کوي، دویمه جوړه د پټنوم لپاره انتظار کوي، دریمه جوړه د امتیازي حالت پرامپټ ته انتظار کوي، څلورم جوړه د امتیازي حالت پاسورډ لپاره.)

په سیسکو ASA کې د اتوماتیک ننوتلو بیلګه:

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل

په SecureCRT کې د تڼۍ سره په لاسي ډول حرکت کول (یو تڼۍ لا تر اوسه جوړه شوې او په SecureCRT کې اضافه شوې)

په SecureCRT کې، تاسو کولی شئ یو تڼۍ ته سکریپټ وټاکئ. تڼۍ په پینل کې اضافه کیږي چې په ځانګړي ډول د دې هدف لپاره رامینځته شوی.

الف انٹرفیس ته د پینل اضافه کول: سیکیور سی آر ٹی مینو => لید => تڼۍ بار
ب. پینل ته تڼۍ اضافه کړئ او سکریپټ اضافه کړئ. - د تڼۍ بار کې ښیې کلیک وکړئ او د شرایطو مینو څخه "نوی تڼۍ ..." غوره کړئ.
وی. د "نقشې تڼۍ" ډیالوګ بکس کې، د "عمل" په ډګر کې، د "چلولو سکریپټ" عمل (فعال) غوره کړئ.
د تڼۍ لپاره سرلیک مشخص کړئ. د تڼۍ آیکون لپاره رنګ. په Ok کلیک کولو سره تنظیمات بشپړ کړئ.

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل

نوټ:

د بټونو سره پینل خورا ګټور فعالیت دی.

1. دا ممکنه ده، کله چې یوې ځانګړې ناستې ته ننوتل، دا مشخص کړئ چې کوم پینل د ډیفالټ له مخې دې ټب ته خلاص شي.

2. دا ممکنه ده چې د تجهیزاتو سره د معیاري کړنو لپاره مخکې تعریف شوي کړنې تنظیم کړئ: د نندارې نسخه ښکاره کړئ، د چلولو ترتیب وښایاست، ترتیب خوندي کړئ.

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل
هیڅ سکریپټ د دې بټونو سره تړلی نه دی. یوازې د عمل کرښه:

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل
تنظیم کول - نو کله چې ناستې ته لاړشئ ، د بټونو سره اړین پینل د سیشن ترتیباتو کې خلاصیږي:

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل
دا د پیرودونکي لپاره معنی لري چې د ننوتلو لپاره انفرادي سکریپټونه تنظیم کړي او د پلورونکي لپاره د مکرر حکمونو سره پینل ته لاړ شي.

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل
کله چې تاسو د Go Cisco تڼۍ فشار کړئ، پینل د سیسکو تڼۍ بار ته ځي.

د سکریپټونو په کارولو سره په خوندي CRT کې اتوماتیک ننوتل

د ساده او پرمختللي سکریپټونو کارولو مثالونه. (د حقیقي ژوند څخه تمرین وکړئ.)

ساده سکریپټونه د نږدې ټولو پیښو لپاره کافي دي. مګر یوځل ما اړتیا درلوده چې سکریپټ یو څه پیچلی کړم - د کار ګړندی کولو لپاره. دا پیچلتیا په ساده ډول د کارونکي څخه د ډیالوګ بکس کې د اضافي معلوماتو غوښتنه کړې.

د ډیالوګ بکس په کارولو سره د کارونکي څخه د معلوماتو غوښتنه کول

ما د معلوماتو غوښتنې سکریپټ کې 2 درلود دا د کوربه نوم او د IP پتې څلورم اوکټیټ دی. د دې عمل ترسره کولو لپاره - ما ګوګل وکړ چې دا څنګه وکړم او دا یې د SecureCRT (vandyke) په رسمي ویب پاڼه کې وموندل. - فعالیت ته پرامپټ ویل کیږي.

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

د سکریپټ دا برخه د وروستي octet څخه د کوربه نوم او شمیرو غوښتنه وکړه. له هغه ځایه چې د تجهیزاتو 15 ټوټې وې. او ډاټا په جدول کې وړاندې شوي، بیا ما ارزښتونه د میز څخه کاپي کړل او د ډیالوګ بکسونو کې یې پیسټ کړل. نور سکریپټ په خپلواک ډول کار کاوه.

د شبکې تجهیزاتو ته د FTP کاپي کول.

دا سکریپټ زما د کمانډ کړکۍ (شیل) پیل کړ او د FTP له لارې کاپي شوي ډاټا. په پای کې، غونډه بنده کړئ. د دې لپاره د نوټ پیډ کارول ناممکن دي ، ځکه چې کاپي کول خورا اوږد وخت نیسي او په FTP بفر کې ډاټا به د دې اوږدې مودې لپاره زیرمه نشي:

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

د سکریپټ په کارولو سره د کارن-نوم / پټنوم داخلول

په یوه وخت کې د شبکې تجهیزاتو ته د پیرودونکي لاسرسی په مستقیم ډول تړل شوی و. دا ممکنه وه چې لومړی د ډیفالټ ګیټ ویز سره وصل کولو سره تجهیزاتو ته ننوځي ، او بیا له هغې سره وصل شوي تجهیزاتو ته. په IOS/هارډویر سافټویر کې جوړ شوی ssh مراجع د نښلولو لپاره کارول شوی و. په دې اساس، په کنسول کې د کارونکي نوم او پټنوم غوښتنه شوې. د لاندې سکریپټ سره، د کارن نوم او پټنوم په اتوماتيک ډول داخل شو:

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

یادونه: دوه سکریپټونه شتون لري، یو د مدیر حساب لپاره، دوهم د eSIGHT حساب لپاره.

سکریپټ د دې وړتیا سره چې د سکریپټ اجرا کولو پرمهال مستقیم ډیټا ضمیمه کړي.

دنده دا وه چې د شبکې په ټولو تجهیزاتو کې یو جامد لار اضافه کړي. مګر په هر تجهیزاتو کې انټرنیټ ته دروازه مختلف وه (او دا د ډیفالټ دروازې څخه توپیر درلود). لاندې سکریپټ د روټینګ جدول ښودلی ، د ترتیب حالت ته ننوت ، پای ته یې کمانډ نه و لیکلی (انټرنېټ ته د دروازې IP پته) - ما دا برخه اضافه کړه. وروسته له هغه چې ما Enter فشار ورکړ، سکریپټ د قوماندې اجرا کولو ته دوام ورکړ.

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

په دې سکریپټ کې، په کرښه کې: crt.Screen.Send("ip route 10.10.10.8 255.255.255.252") د ګېټ وے IP پته نه ده اضافه شوې او د ګاډي د راستنیدو کریکٹر نشته. سکریپټ د "(config) #" حروفونو سره بلې کرښې ته انتظار باسي دا کرکټرونه وروسته له هغه څرګند شول چې ما د IP پتې ته ننوت او ننوتل.

پایله:

کله چې د سکریپټ لیکلو او اجرا کولو په وخت کې، دا قاعده باید تعقیب شي: د سکریپټ لیکلو او د سکریپټ اجرا کولو وخت باید هیڅکله د نظري پلوه د ورته کار په لاسي ډول مصرف کولو څخه ډیر نه وي (د نوټ پیډ څخه کاپي / پیسټ کول، لیکل او ډیبګ کول د ځواب ورکوونکي، لیکلو او ډیبګ کولو پیتون سکریپټ لپاره د لوبې کتاب). دا دی، د سکریپټ کارول باید وخت خوندي کړي، او د پروسو په یو وخت اتومات کولو کې وخت ضایع نکړي (د بیلګې په توګه، کله چې سکریپټ ځانګړی وي او نور تکرار نه وي). مګر که سکریپټ ځانګړی وي او د سکریپټ سره اتوماتیک وي او د سکریپټ لیکل / ډیبګ کول د بلې لارې ترسره کولو په پرتله لږ وخت نیسي (د ځواب وړ ، کمانډ کړکۍ) ، نو سکریپټ غوره حل دی.
د سکریپټ ډیبګ کول. سکریپټ په تدریجي ډول وده کوي، ډیبګ کول په لومړي، دویم، دریم وسیلو کې د رن-ان په وخت کې ترسره کیږي، او په څلورم سره سکریپټ به په بشپړ ډول فعال وي.

د ماوس سره د سکریپټ چلول (د کارن-نوم + پاسورډ داخلولو سره) معمولا د نوټ پیډ څخه د کارن نوم او پاسورډ کاپي کولو په پرتله ګړندی وي. مګر د امنیت له نظره خوندي نه دی.
بل (حقیقي) مثال کله چې سکریپټ کاروي: تاسو د شبکې تجهیزاتو ته مستقیم لاسرسی نلرئ. مګر د شبکې ټول تجهیزات تنظیم کولو ته اړتیا شتون لري (دا د څارنې سیسټم ته راوړي، اضافي کارن-نوم/پاسورډ/snmpv3username/password ترتیب کړئ). لاسرسی شتون لري کله چې تاسو کور سویچ ته ځئ ، له هغې څخه تاسو نورو تجهیزاتو ته SSH خلاص کړئ. ولې نشئ کولی ځواب وکاروئ. - ځکه چې موږ د شبکې تجهیزاتو کې د اجازې شوي یوځل غونډو شمیر محدودیت ته ورسیږو (لین vty 0 4، د کارن انٹرفیس vty 0 4) (بله پوښتنه دا ده چې څنګه مختلف تجهیزات پیل کړئ د ورته SSH لومړي هپ سره ځواب ووایی).

سکریپټ د اوږدې عملیاتو په جریان کې وخت کموي - د بیلګې په توګه، د FTP له لارې د فایلونو کاپي کول. د کاپي کولو بشپړیدو وروسته ، سکریپټ سمدلاسه کار پیل کوي. یو سړی به اړتیا ولري چې د کاپي پای وګوري، بیا د کاپي پای احساس کړي، بیا مناسب حکمونه دننه کړئ. سکریپټ دا په معقول ډول ګړندی کوي.

سکریپټونه د تطبیق وړ دي چیرې چې د ډله ایز ډیټا تحویلي وسیلې کارول ناممکن دي: کنسول. یا کله چې د تجهیزاتو لپاره ځینې معلومات ځانګړي وي: کوربه نوم، مدیریت IP پته. یا کله چې د برنامه لیکل او ډیبګ کول دا د تجهیزاتو څخه ترلاسه شوي ډیټا اضافه کولو څخه خورا ستونزمن دي پداسې حال کې چې سکریپټ چلیږي. - د لارې وړاندیز کولو لپاره د سکریپټ سره مثال ، کله چې هر تجهیزات د انټرنیټ چمتو کونکي خپل IP پته لري. (زما همکارانو دا ډول سکریپټونه لیکلي - کله چې د DMVPN خبرې له 3 څخه زیاتې وې. دا اړینه وه چې د DMVPN ترتیبات بدل کړئ).

د قضیې مطالعه: د کنسول بندرونو په کارولو سره په نوي سویچ کې لومړني ترتیبات تنظیم کول:

A. د کنسول کیبل په وسیله کې ولګوه.
ب. سکریپټ چلول
B. د سکریپټ اجرا کولو ته انتظار باسي
د کنسول کیبل په راتلونکی وسیله کې ولګوه.
E. که سویچ وروستی نه وي، B ګام ته لاړ شئ.

د سکریپټ د کار په پایله کې:

  • لومړنی پټنوم په تجهیزاتو کې ټاکل شوی.
  • کارن نوم داخل شو
  • د وسیلې ځانګړی IP پته داخلیږي.

PS عملیات باید تکرار شي. ځکه چې ډیفالټ ssh تنظیم شوی / غیر فعال شوی نه و. (هو، دا زما تېروتنه ده.)

کارول شوي سرچینې.

1. د سکریپټونو جوړولو په اړه
2. د سکریپټ مثالونه

1 ضمیمه: نمونه سکریپټونه.


د اوږد سکریپټ یوه بیلګه، د دوو پوښتنو سره: کوربه نوم او IP پته. دا د کنسول (9600 baud) له لارې د تجهیزاتو د تنظیم کولو لپاره رامینځته شوی. او همدارنګه د شبکې سره د تجهیزاتو پیوستون چمتو کول.

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

دا ډول سکریپټونه معمولا اړتیا نلري، مګر د تجهیزاتو اندازه 15 پی سیز ده. د ګړندي تنظیم کولو اجازه ورکړل شوې. د SecureCRT کمانډ کړکۍ په کارولو سره د تجهیزاتو تنظیم کول ګړندي وو.

د ssh لپاره حساب ترتیب کول.

بل مثال. ترتیب هم د کنسول له لارې دی.

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


د SecureCRT په اړه:تادیه شوي سافټویر: له $ 99 څخه (تر ټولو کوچنی قیمت یوازې د یو کال لپاره د سیکیور سی آر ٹی لپاره دی)
رسمي ویب پاڼه
د سافټویر جواز یو ځل اخیستل کیږي، د ملاتړ سره (د تازه کولو لپاره)، بیا سافټویر د دې جواز سره د نامحدود وخت لپاره کارول کیږي.

په Mac OS X او وینډوز عملیاتي سیسټمونو کې کار کوي.

د سکریپټ ملاتړ شتون لري (دا مقاله)
موجود دي د کمانډ کړکۍ
سیریل/Telnet/SSH1/SSH2/Shell عملیاتي سیسټم

سرچینه: www.habr.com