利用SecureCRTPortable脚本功能完成网络设备的数据读取

  一直使用SecureCRTPortable来维护网络设备。

  敲网络命令多了,觉得这工作繁琐枯燥,日常的工作之一就是频繁从网络设备中读取网络设备的数据记录,先前使用Python脚本来完成,挺方便,后面也没有再使用Python,现在要使用则必须安装Python,不想折腾了。

  无意中看到SecureCRTPortable有录制脚本功能,上网一查,它可以执行脚本,包括VBScript、JavaScript和Python,实在是太好了!

  今天下午查了相关资料,利用VBScript完成了先前使用Python完成的功能。

  脚本如下:

#$language = "VBScript"
#$interface = "1.0"

crt.Screen.Synchronous = True
crt. Window.show 0
'crt.Window.State 0

Sub Main
	dim NetEquipmentName
	dim NetEquipmentIP
	dim UserName
	dim UserPwd
	dim LogFileName
	dim LogPath
	'设置参数
	NetEquipmentName="网络设备名称"
	NetEquipmentIP="IP地址"
	UserName="用户名"
	Userpwd="密码"
	LogPath="文件路径"
	LogFileName=LogPath & NetEquipmentName & Year(Now) & Month(Now) & Day(Now) & "-" & Hour(Now) & Minute(Now) & ".txt"
	'访问网络设备
	crt.session.Connect("/telnet " & NetEquipmentIP )
	'crt.Window.Activate
	'crt. Window.show 0
	'crt.Window.State=0
	crt.Screen.WaitForString("ogin:")
	crt.Screen.Send(UserName & chr(13))
	crt.Screen.WaitForString("assword:")
	crt.Screen.Send(UserPwd & chr(13))
	crt.Screen.WaitForString("<xxs01>")
	crt.Session.LogFileName=LogFileName
	crt.Session.Log True
	crt.Screen.Send "命令  " & chr(13)
	Do while crt.Screen.WaitForString("---- More ----",1,true)=True
		crt.Sleep(500)
		crt.Screen.Send " " & chr(13)
	Loop
	crt.Screen.Send "quit"	& chr(13)
	crt.Session.Disconnect()

	'退出程序
	crt.Screen.Synchronous = False
	crt.quit()
End Sub

  上面列出的是telnet,现在很多网络设备需要SSH2登录,对应的登录需要替换:

#$language = "VBScript"
#$interface = "1.0"

crt.Screen.Synchronous = True
crt. Window.show 0

Sub Main
	dim NetEquipmentName
	dim NetEquipmentIP
	dim UserName
	dim UserPwd
	dim LogFileName
	dim LogPath
	'设置参数
	NetEquipmentName="设备名称"
	NetEquipmentIP="IP地址"
	UserName="用户名称"
	Userpwd="用户密码"
	LogPath="存储路径"
	LogFileName=LogPath & NetEquipmentName & Year(Now) & Month(Now) & Day(Now) & "-" & Hour(Now) & Minute(Now) & ".txt"
	'访问交换机或者路由器
	crt.Session.Connect "/SSH2 /ACCEPTHOSTKEYS /L " & UserName & " /PASSWORD " & Userpwd & " /C 3DES /M SHA1 " & NetEquipmentIP  	
	crt.Screen.WaitForString("<" & NetEquipmentName &">")
	crt.Session.LogFileName=LogFileName
	crt.Session.Log True
	crt.Screen.Send "dis arp" & chr(13)
	Do while crt.Screen.WaitForString("---- More ----",1,true)=True
		crt.Sleep(500)
		crt.Screen.Send " " & chr(13)
	Loop
	crt.Screen.Send "quit" & chr(13)
	crt.Session.Disconnect()

	'退出程序
	crt.Screen.Synchronous = False
	crt.quit()
End Sub

  写一个bat文件,内容只有一行:

文件路径\SecureCRT.exe   /SCRIPT DailyNetworkDataCollection.vbs

  在windows的计划列表里添加这个bat文件即可安装固定的时间执行了。

  这里可以做一个脚本来判断,后面做一个完整的。

  这个功能是真的实用啊!减轻了不少的工作量了!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SecureCRT是一款功能强大的终端仿真软件,可以用于远程管理网络设备。它支持自定义脚本编写,以便自动执行一系列任务,提升工作效率。 SecureCRTVBScript脚本语言是一种基于微软Visual Basic的脚本语言,可以通过脚本编写复杂的自动化任务。VBScript脚本提供了丰富的方法和属性,可以利用SecureCRT的API来实现各种操作,如发送命令、接收返回值、处理文本等。 通过VBScript脚本,可以实现以下一些功能: 1. 自动登录:可以编写脚本,在连接设备后自动输入用户名和密码,实现自动化登录。 2. 批量执行命令:可以编写脚本,实现批量执行命令的功能,从而同时在多台设备上执行相同的操作。 3. 数据采集:可以编写脚本,在设备上执行命令并将返回结果保存为文件,以便后续分析和处理。 4. 自动配置:可以编写脚本,根据特定的规则自动配置网络设备,提高配置的准确性和一致性。 5. 错误处理:可以编写脚本,检测和处理命令执行过程中可能出现的错误,实现错误提示和自动重试等机制。 通过使用SecureCRTVBScript脚本,用户可以根据自己的需求定制各种任务和功能,提高工作效率,简化操作流程。但是需要注意的是,编写脚本需要一定的编程知识和经验,对SecureCRT的API也需要一定的了解。因此,对于初学者来说,可能需要花费一定的时间学习和实践,才能熟练地使用SecureCRTVBScript脚本功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值