2023年11月27日发(作者:)# $language = "VBScript"

# $interface = "1.0"

'支持cisco,huawei,h3c交换路由设备网络巡检,自动保存巡检信息

Sub Main

dim objCurrentTab(300)

dim n

dim params

dim file1,fso,file_error

dim type1

dim path1,path2,path3

'数据文件

path1 = "C:"

'导出配置文件

path2 = "C:UsersAdministratorDesktop自动巡检"

'错误收集文件

path3 = "C:"

type1 = 0

n = 1

Set fso = CreateObject("stemObject") '创建文件对象

Set file1 = xtFile(path1,1, False) '设置文件对象 1 只读模式;2 写模式;8 在文件末尾进行写操作

Set file_error = xtFile(path3,1, true) '错误连接输出

'判定文件是否存在

if ists(path1) <> true then

msgbox "c: 文件不存在!脚本将退出!"

Exit sub

end if

'从左到右激活每一个已经连接上的会话,并输入相关命令

'第一个连接的会话

DO While fStream <> True

'读出每行

line = ne

'分离每行的参数 IP地址 密码 En密码

params = Split (line,"t")

set objCurrentTab(n) = (n)

objCurrentTab(n).nect

objCurrentTab(n).Activate

objCurrentTab(n).eName = path2 & params(0) & ".txt"

Call objCurrentTab(n).(False) '关闭log

Call objCurrentTab(n).(True) '开启日志

'objCurrentTab(n).onous = True '开启屏幕同步



On Error Resume Next '后面代码发生错误会继续执行

objCurrentTab(n).t "/TELNET " & params(0)

szError = ption '将错误表述信息放入变量szError中

On Error Goto 0 '关闭容错机制,即后面代码发生错误后会停止脚本,输出错误信息

2000

'判断是否连接正常

if objCurrentTab(n).ted then

objCurrentTab(n).onous = True '同步显示

'第一次连接时的安全检测

'Do

' bCursorMoved = objCurrentTab(n).rCursor(1)

'Loop until bCursorMoved = False

' 一旦光标在一秒内停止移动,我们就认为他已经安全的连接上了远程设备



'''''''''''''密码操作'''''''''思科,华为,H3C有不同点

objCurrentTab(n). params(2) & chr(13)

objCurrentTab(n).rString ">"

if params(1) = 1 then

type1 = 1

objCurrentTab(n). "en" & chr(13)

else

type1 = 2

objCurrentTab(n). "su" & chr(13)

end if

objCurrentTab(n).rString "Password:"

objCurrentTab(n). params(3) & chr(13)

'''''''''''''只对非核心,路由有效果'''''''''type1 = 1 代表cisco;=2 代表h3c 或者huawei

'等待1秒后执行巡检命令

' 1000

if type1 = 1 th

en

objCurrentTab(n).rString "#"

'msgbox "思科巡检!"

objCurrentTab(n). "show tech-support" & chr(13)

'objCurrentTab(n).nect() '断开连接

'Call objCurrentTab(n).(False) '关闭log

else

'msgbox "其他巡检!"

objCurrentTab(n). "dis dia" & chr(13)

'N=display

5000

objCurrentTab(n).rString "N=display"

objCurrentTab(n). "n" & chr(13)

'objCurrentTab(n).rString ">"

'objCurrentTab(n).nect() '断开连接

'Call objCurrentTab(n).(False) '关闭log

end if

else

'收集未连接上的设备信息

g_szErrors = g_szErrors & vbcrlf & _

"*** Error connecting to " & params(0) & ": " & szError '累计错误消息复制到变量g_szErrors

end if

' 5000

set newtab = objCurrentTab(n).Clone()

n = n + 1

loop



'错误信息导出

if g_szErrors <> "" then

file_ine(g_szErrors)

'msgbox "以下是未连接上设备的信息:" & vbcrlf & g_szErrors

set oShell = CreateObject("")

path3

set oShell = nothing

end if

'关闭文件

file_

End Sub