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


发布评论