常用語句: 1.CRT命令 ‘發(fā)送命令 crt.Screen.Send “whyy@dsl-vty” & chr(13) ‘等待字符串出現(xiàn) crt.Screen.WaitForString “Password:” ‘等待字符串出現(xiàn),等待1秒鐘 crt.Screen.WaitForString (“Password:”,1) ‘開啟同步 crt.Screen.Synchronous = True ‘判斷指針1秒內(nèi)不移動,用于確定安全連接可以進行后續(xù)代碼輸入操作 Do bCursorMoved = crt.Screen.WaitForCursor(1) Loop until bCursorMoved = False ‘判定是否已經(jīng)連接到設(shè)備 if crt.Session.Connected = true then ‘斷開連接 crt.session.disConnect ‘激活窗口 用于多tab頁面 crt.Activate ‘連接到指定設(shè)備 crt.session.Connect(“/telnet ” & b(n)) ‘延時1秒 crt.Sleep 1000 2.vbScript語句 a.文件操作 Set fso = CreateObject(“Scripting.FileSystemObject”) ‘創(chuàng)建文件對象 Set file1 = fso.OpenTextFile(“c:\test.txt”,1, False) ‘設(shè)置文件對象 1 只讀模式;2 寫模式;8 在文件末尾進行寫操作 objFso.FileExists(“文件路徑”) ‘判定文件是否存在,存在返回trus,否則返回false file1.AtEndOfStream <> True ‘如果文件末尾無數(shù)據(jù)返回true,否則返回false line = file1.ReadLine ‘讀取第一行文本數(shù)據(jù),并將讀取位移動到下一行 params = Split (line) ‘分割讀取的行數(shù)據(jù),用空格符分割 file1.Close ‘關(guān)閉文件 b.系統(tǒng)文檔操作 ‘創(chuàng)建shell對象,對系統(tǒng)特殊文檔操作 Set objShell = CreateObject(“WScript.Shell”) ‘返回”我的文檔”的路徑給變量szMyDocs,可以動態(tài)的返回”我的文檔”的路徑 szMyDocs = objShell.SpecialFolders(“MyDocuments”) ‘設(shè)置文件路徑到變量中 szSessionsFile = szMyDocs & “\SessionList.txt” 3.知識點 <1.判斷文件是否存在 if Not objFso.FileExists(szSessionsFile) then ‘如果txt文件不存在,就報錯并退出sub crt.Dialog.MessageBox “Session list file not found:” & vbcrlf & _ vbcrlf & _ szSessionsFile & vbcrlf & vbcrlf & _ “Create a session list file as described in the description of ” & _ “this script code and then run the script again.” exit sub end if <2.容錯機制 On Error Resume Next ‘后面代碼錯誤會繼續(xù)執(zhí)行 crt.Session.Connect “/telnet ” & vSessionsArray(0) szError = Err.Description ‘將錯誤表述信息放入變量szError中 On Error Goto 0 ‘關(guān)閉容錯機制 <3.判斷是否安全連接 ‘判斷是否連接正常 if crt.Session.Connected then crt.Screen.Synchronous = True ‘同步顯示 ‘第一次連接時的安全檢測 Do bCursorMoved = crt.Screen.WaitForCursor(1) Loop until bCursorMoved = False ’ 一旦光標在一秒內(nèi)停止移動,我們就認為他已經(jīng)安全的連接上了遠程設(shè)備 end if <4.安全關(guān)閉連接 ’ 斷開連接 crt.session.disconnect ’ 等待連接關(guān)閉 Do crt.Sleep 100 Loop While crt.Session.Connected = True ‘每100毫秒判斷連接是否斷開 <5.說明: 1.CRT默認tab的index為1 2.要創(chuàng)建第二個標簽頁tab,必須使用函數(shù)set newtab = objCurrentTab1.Clone()復(fù)制標簽頁為新的tab頁面 否則報錯tab 2 超出index范圍rang 函數(shù): Set objCurrentTab1 = crt.GetTab(1) ‘創(chuàng)建標簽頁1 objCurrentTab1.session.disConnect ‘斷開標簽頁1的當前連接 objCurrentTab1.Activate ‘激活標簽頁1 objCurrentTab1.session.Connect(“/telnet 172.16.205.1” ) ‘標簽頁1連接設(shè)備172.16.205.1 set newtab = objCurrentTab1.Clone() ‘復(fù)制標簽頁1到新標簽頁
示例: 【示例一】 $language = "VBScript"
$interface = "1.0"
Sub Main
crt.Screen.Synchronous = True
crt.Session.Connect "/TELNET 192.168.1.1"
crt.Screen.WaitForString "Password:"
crt.Screen.Send "cisco" & vbCr
crt.Screen.waitForString ">"
crt.Screen.Send "enable" & vbcr
crt.Screen.WaitForString "Password:"
crt.Screen.Send "cisco" & vbcr
crt.Screen.waitForString "#"
crt.Screen.Send "show version" & vbcr
crt.Screen.waitForString "--More--"
crt.Screen.Send " "
crt.Screen.Synchronous = False
End Sub
【示例二】 $language = "VBScript"
$interface = "1.0"
Sub Main
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,params
Set fso = CreateObject("Scripting.FileSystemObject")
Set file1 = fso.OpenTextFile("d:\config.txt",Forreading, False)
crt.Screen.Synchronous = True
DO While file1.AtEndOfStream <> True
line = file1.ReadLine
params = Split (line)
crt.Session.Connect "/TELNET " & params(0)
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(1) & vbcr
crt.Screen.Send "enable" & vbcr
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(2) & vbcr
crt.Screen.waitForString "#"
str1 = "copy startup tftp://192.168.1.2/"
str1 = str1 & "backup(" & params(0) &")" & ".cfg"
crt.Screen.Send str1 & vbcr
crt.Screen.WaitForString "]?"
crt.Screen.Send vbcr
crt.Screen.WaitForString "]?"
crt.Screen.Send vbcr
crt.Screen.waitForString "#",3
crt.Session.Disconnect
loop
crt.Screen.Synchronous = False
End Sub
config.txt文本文件為事先編輯好的 格式如: 192.168.1.1 cisco cisco 192.168.1.254 cisco cisco 前面是IP地址,后面是telnet密碼,最后是enable密碼 Sub Main
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,params
Set fso = CreateObject("Scripting.FileSystemObject")
Set file1 = fso.OpenTextFile("d:\config.txt",Forreading, False)
crt.Screen.Synchronous = True
DO While file1.AtEndOfStream <> True
line = file1.ReadLine
params = Split (line)
crt.Session.Connect "/TELNET " & params(0)
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(1) & vbcr
crt.Screen.Send "enable" & vbcr
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(2) & vbcr
crt.Screen.waitForString "#"
str1 = "copy startup tftp://192.168.1.2/"
str1 = str1 & "backup(" & params(0) &")" & ".cfg"
crt.Screen.Send str1 & vbcr
crt.Screen.WaitForString "]?"
crt.Screen.Send vbcr
crt.Screen.WaitForString "]?"
crt.Screen.Send vbcr
crt.Screen.waitForString "#",3
crt.Session.Disconnect
loop
crt.Screen.Synchronous = False
End Sub
【示例三】 批量添加靜態(tài)arp: Sub Main
Const ForReading = 1
Dim fso,file,line
set fso = CreateObject("Scripting.FileSystemObject")
set file = fso.OpenTextFile("arp.txt",ForReading,False)
crt.Screen.Synchronous = True
DO While file.AtEndOfStream <> True
line = file.ReadLine
crt.Screen.Send line & vbcr
crt.Sleep 100
loop
crt.Screen.Synchronous = False
End Sub
arp.txt如下: arp static ip 12.1.1.025 mac 00:24:93:01:73:18 interface ethernet 0/0/1
arp static ip 12.1.1.026 mac 00:24:93:01:73:19 interface ethernet 0/0/1
arp static ip 12.1.1.027 mac 00:24:93:01:73:1a interface ethernet 0/0/1
arp static ip 12.1.1.028 mac 00:24:93:01:73:1b interface ethernet 0/0/1
arp static ip 12.1.1.029 mac 00:24:93:01:73:1c interface ethernet 0/0/1
arp static ip 12.1.1.030 mac 00:24:93:01:73:1d interface ethernet 0/0/1
arp static ip 12.1.1.031 mac 00:24:93:01:73:1e interface ethernet 0/0/1
arp static ip 12.1.1.032 mac 00:24:93:01:73:1f interface ethernet 0/0/1
arp static ip 12.1.1.033 mac 00:24:93:01:73:20 interface ethernet 0/0/1
arp static ip 12.1.1.034 mac 00:24:93:01:73:21 interface ethernet 0/0/1
|