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 更直接。

posted @ 2013-03-24 12:31  materazzi  阅读(5431)  评论(0编辑  收藏  举报