secureCRT自动化脚本
接到一个需求:
通过ssh连接交换机,然后获得交换机配置信息,将信息保存于本地文件。
简而言之,就是一键获取交换机配置信息。
根据提示,secureCRT 可以使用vbs脚本。因为我这没有交换机,所以就用个ubuntu虚拟机的ifconfig代替交换机配置信息。
1 #$language = "VBScript" 2 #$interface = "1.0" 3 4 \'crt.Screen.Synchronous = True 5 6 \' This automatically generated script may need to be 7 \' edited in order to work correctly. 8 9 Sub Main 10 11 Const ForReading = 1, ForWriting = 2, ForAppending = 8 12 Dim fso,file1,line,str1,params 13 Set fso = CreateObject("Scripting.FileSystemObject") 14 Set file1 = fso.OpenTextFile("F:\securecrt\config.txt",Forreading, False) 15 crt.Screen.Synchronous = True 16 17 18 Dim szPrompt, szResult 19 szPrompt = "root" 20 21 22 Dim objFso,objStream 23 Set objFSO = CreateObject( "Scripting.FileSystemObject" ) 24 25 \'Dim host 26 \'host = "192.168.1.104" 27 \'Dim user 28 \'user = "username" 29 \' Prompt for a password instead of embedding it in a script... 30 \' 31 \'Dim passwd 32 \'passwd = "password" 33 \' Build a command-line string to pass to the Connect method. 34 \' 35 36 DO While file1.AtEndOfStream <> True 37 \'读出每行 38 line = file1.ReadLine 39 \'分离每行的参数 IP地址 密码 En密码 40 params = Split (line) 41 42 43 cmd = "/SSH2 /L " & params(1) & " /PASSWORD " & params(2) & " /C 3DES /M MD5 " & params(0) 44 crt.Session.Connect cmd 45 46 crt.Screen.Send "clear" & chr(13) 47 crt.Screen.WaitForString chr(27) & "[H" & chr(27) & "[Jroot@ubuntu:" & chr(126) & "# " 48 crt.Screen.Send "ifconfig" & chr(13) 49 50 51 szResult = crt.Screen.ReadString(szPrompt) 52 crt.Dialog.MessageBox szResult 53 54 55 \'crt.Session.Disconnect 56 57 Set objStream = objFso.OpenTextFile("F:\securecrt\" & params(0) & ".txt",ForWriting, True) 58 \'Set objStream = objFso.OpenTextFile("F:\securecrt\result.txt",ForWriting, True) 59 objStream.Write(szResult) 60 objStream.close 61 62 crt.Session.Disconnect 63 64 loop 65 crt.Screen.Synchronous = False 66 67 End Sub
14行的 Set file1 = fso.OpenTextFile(“F:\securecrt\config.txt”,Forreading, False) 是打开配置文件,这个配置文件写死了,偷懒了呵呵。
配置文件的行模式如下:
ip username password
57行的 Set objStream = objFso.OpenTextFile(“F:\securecrt\” & params(0) & “.txt”,ForWriting, True) 是打开记录信息文件,以ip地址为文件名,文件路径也写死了。
在cmd下敲入 F:\securecrt\SecureCRT.exe \script yourscriptfilename.vbs 就OK
然后新建个bat文件,把“F:\securecrt\SecureCRT.exe \script yourscriptfilename.vbs” 敲进去,这样双击这个 yourbatfilename.bat 更直接。