接到一個需求:
通過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 更直接。