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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM