SecureCRT脚本编写方法

上传人:ji****72 文档编号:37548663 上传时间:2018-04-18 格式:DOC 页数:17 大小:109KB
返回 下载 相关 举报
SecureCRT脚本编写方法_第1页
第1页 / 共17页
SecureCRT脚本编写方法_第2页
第2页 / 共17页
SecureCRT脚本编写方法_第3页
第3页 / 共17页
SecureCRT脚本编写方法_第4页
第4页 / 共17页
SecureCRT脚本编写方法_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《SecureCRT脚本编写方法》由会员分享,可在线阅读,更多相关《SecureCRT脚本编写方法(17页珍藏版)》请在金锄头文库上搜索。

1、SecureCRTSecureCRT 脚本编写方法脚本编写方法一、一、 SecureCRT 工具常用到的几个函数阐述如下:工具常用到的几个函数阐述如下:在 SecureCRT 里,用得最多的应该就是 crt.Screen,基本上很多操作都是基于屏幕的返回字来决定下 一步该作何操作:第一:第一:crt.Screen.WaitForString(“KeyString“,timewaiting)crt.Screen.WaitForString(“KeyString“,timewaiting)该函数是单字符串判断,KeyString 是需要查找的关键字,timewaiting 是一个超时阀值,例如:

2、crt.Screen.WaitForString(“people:“,5)该行代码的意思就是在 5 秒内没有检测到 people:出现,就执行下 一条语句,如果改成:crt.Screen.WaitForString(“people:“)那就是指直到 people:出现才执行下一行代 码 WaitForString 是有返回值的,返回值是 True 或者 False 因此,可以根据返回值进行条件判断以确定 一下条代码 例如: If(crt.Screen.WaitForString(“currentstate:UP“,1)False) EndFunction 退出设备子函数 FunctionExi

3、tDevice IfResultOfType=1Then ElseIfResultOfType=2Then screen.Send“,1)False) Else EndIf EndFunction FunctionShowAll Dowhile(screen.WaitForStrings(“More“,“more“,3)FalseThen MsgBox“Thecommandyouareimportingexistsrisk!“ Do Loop EndIf EndFunction SubMain crt.Screen.Synchronous=True LandIPNET ForDeviceNum

4、th=LBound(Device)ToUBound(Device) LandDevice CommandNumth=0 ForCommandNumth=LBound(TypeOfCommand)ToUBound(TypeOfCommand) screen.Send“&TypeOfCommand(CommandNumth) RiskCommands screen.Send“&chr(13)ShowAll Ifscreen.WaitForString(“More“,1) True 读出每行 line = file1.ReadLine 分离每行的参数 IP 地址 用户名 密码 特权密码 params

5、 = Split (line)Telnet 到这个设备上crt.Session.Connect (“/TELNET ” & params(0) 输入 telnet 用户名和密码 crt.Screen.WaitForString “sername:” crt.Screen.Send params(1) & vbcr crt.Screen.WaitForString “assword:” crt.Screen.Send params(2) & vbcr 进特权模式 crt.Screen.Send “enable” & vbcr 输入特权密码 crt.Screen.WaitForString “as

6、sword:” crt.Screen.Send params(3) & vbcr crt.Screen.waitForString “#” ip.txt 里相对应的 IP 地址、用户名、密码、特权密码,分别如下: 192.168.1.1 admin ruijie ruijie192.168.1.2 admin ruijie ruijie 192.168.2.1 admin ruijie ruijie 第二种情况:密码第二种情况:密码+特权密码方式特权密码方式# $language = “VBScript”# $interface = “1.0Sub Main 打开保存设备管理地址以及密码的文件

7、 Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso,file1,line,params Set fso = CreateObject(“Scripting.FileSystemObject”) Set file1 = fso.OpenTextFile(“C:UserslilfDesktopip.txt”,Forreading, False) crt.Screen.Synchronous = True DO While file1.AtEndOfStream True line = file1.ReadLine para

8、ms = Split (line) crt.Session.Connect “/TELNET ” & params(0) crt.Screen.WaitForString “sername:” crt.Screen.Send params(1) & vbcr crt.Screen.WaitForString “assword:” crt.Screen.Send params(2) & vbcr crt.Screen.Send “enable” & vbcr crt.Screen.waitForString “#” crt.Screen.Send “show ver” & vbcr crt.Sc

9、reen.WaitForString “#” crt.Screen.Send vbcr crt.Screen.waitForString “#”,3 crt.Session.Disconnect loop crt.Screen.Synchronous = False End Sub C:UserslilfDesktopip.txt 中的内容如下 10.243.124.1 XXXX XXXX10.243.124.10 XXXX XXXX 完成 show ver 后,查看日记记录,找到当前运行的是 rgnos.bin 设备,并把他的 IP 地址从 ip.txt 中去 掉,新建 ip1.txt 升级

10、 rgos.bin: # $language = “VBScript”# $interface = “1.0Sub Main Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso,file1,line,params Set fso = CreateObject(“Scripting.FileSystemObject”) Set file1 = fso.OpenTextFile(“C:UserslilfDesktopip.txt “,Forreading, False) crt.Screen.Synchronous = Tr

11、ue DO While file1.AtEndOfStream True line = file1.ReadLine params = Split (line) crt.Session.Connect “/TELNET ” & params(0) crt.Screen.WaitForString “sername:” crt.Screen.Send params(1) & vbcrcrt.Screen.WaitForString “assword:” crt.Screen.Send params(2) & vbcr crt.Screen.Send “enable” & vbcr crt.Scr

12、een.waitForString “#”crt.Screen.Send “reload in 1 & vbcrcrt.Screen.WaitForString “#” crt.Screen.Send vbcr crt.Screen.waitForString “#”,3 crt.Session.Disconnect loop crt.Screen.Synchronous = False End Sub 重启过程中用批量 ping 工具监视,重启完成后查看是否都正常 说明说明注意事项:如果运行过程中 telnet 到一台不可达的设备后,则脚本会中断,刚需要人工去再次运行, 故运行之前先用批量

13、ping 工具测试设备连通性 自动登录脚本自动登录脚本下面是我根据上面的文档编写的没有用户名的自动登录 # $language = “VBScript“ # $interface = “1.0“ Sub Main 打开保存设备管理地址以及密码的文件 Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso,file1,line,params Set fso = CreateObject(“Scripting.FileSystemObject“) Set file1 = fso.OpenTextFile(“C:ip.txt“,F

14、orreading, False) crt.Screen.Synchronous = True DO While file1.AtEndOfStream “crt.Screen.Send “enable“ & vbcrcrt.Screen.WaitForString “Password:“crt.Screen.Send “cisco“ & vbcrcrt.Screen.waitForString “#“crt.Screen.Send “show version“ & vbcrcrt.Screen.waitForString “-More-“crt.Screen.Send “ “crt.Scre

15、en.Synchronous = False End Sub【示例二示例二】自动备份配置自动备份配置# $language = “VBScript“ # $interface = “1.0“ 本脚本示范:从一个文件里面自动读取设备 IP 地址,密码等,自动将设备配置备份 Sub Main打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,str1,paramsSet fso = CreateObject(“Scripting.FileSystemObject“)Set

16、 file1 = fso.OpenTextFile(“d:config.txt“,Forreading, False) crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream “ objCurrentTab1.Screen.Send “相关命令 2 ” & chr(13)objCurrentTab1.Screen.WaitForString “- ”objCurrentTab1.Screen.Send “相关命令 3 ” & chr(13)objCurrentTab1.Screen.WaitForString “- ”End If第二个连接的会话 Set objCurrentTab2 = crt.GetTab(2)objCurrentTab2.Activate If objCurrentTab2.Session.Connected = True thenobjCurrentTab2.Screen.Send

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号