您的位置:首页 > 其它

学习资料-批量修改配置的脚本

2011-10-27 01:14 239 查看
VB脚本,一窍不通,好好学习一下工作都省很多事。
一,故障/项目描述

一线工程师在项目实施与故障处理中,偶尔会遇到需要大批量的修改接入交换机配置或者升级交换机的情况。如果工程师一台台登陆交换机进行配置修改与升级,效率太低。

二,小窍门思路

如果这些交换机的登录口令都相同,那么能否批量的修改交换机配置,或者批量升级交换机IOS呢?早期的交换机,我司有小工具可以进行批量操作。而新型号的交换机,我们能否也找到一些第三方工具软件来实现呢?

常用的CRT软件SecureCRT就提供了该功能,SecureCRT提供了强大的脚本工具。我们可以编写脚本文件来实现我们的需求。

三,小窍门实施

例如:一线工程师要批量修改接入交换机的1X相关配置,脚本编写内容如下:

Sub Main

crt.session.disconnect

IpArray=ReadToArray("IP2.txt") 'IP地址数组文件,脚本会调用IP2.txt中的IP地址表,所以l2switch.txt必须和脚本处于同一目录下

For i=0 To Ubound(IpArray)-1

Concmd="/telnet"+" "+IpArray(i)'创建登录命令模式为telnet

crt.session.Connect(Concmd)

crt.screen.send chr(13)

crt.Screen.WaitForString "assword:"

crt.Screen.Send "scu2126" & chr(13)

crt.Screen.WaitForString ">"

crt.Screen.Send "enable" & chr(13)

crt.Screen.WaitForString "assword:"

crt.Screen.Send "imc2126" & chr(13)

crt.Screen.WaitForString "#"

crt.Screen.Send "config t" & chr(13)

crt.Screen.WaitForString "#"

crt.Screen.Send "no dot1x filter-nonRG-su enable" & chr(13) '修改的配置

crt.Screen.WaitForString "#"

crt.Screen.Send "exit" & chr(13)

crt.Screen.WaitForString "#"

crt.Screen.Send "wr" & chr(13)

crt.screen.send chr(13)

crt.screen.send chr(13)

crt.Screen.WaitForString "#"

crt.Screen.Send chr(13)

crt.session.disconnect

Next

End Sub

Function ReadToArray(filespec)

Const ForReading = 1

Dim fso, theFile,i,RetString

Dim retArray()

Set fso = CreateObject("Scripting.FileSystemObject")

IF fso.FileExists(filespec) THEN

Set theFile = fso.OpenTextFile(filespec, ForReading,false,false)

i = 0

Do While theFile.AtEndOfStream <> True

RetString = Trim(theFile.ReadLine)

IF IsNull(RetString) <> True THEN

ReDim Preserve retArray(i+1)

retArray(i) = RetString

i=i+1

END IF

Loop

theFile.Close

ReadToArray = retArray

ELSE

ReadToArray= Null

MsgBox "配置文件无IP地址"+filespec

END IF

End Function

将上述配置在记事本中以VBS后缀名保存,并在同一目录下创建一个名为IP2.txt的文件,列出需要调整配置的交换机IP。

使用SecureCRT调用VBS脚本文件即可。

四,小窍门延伸

SecureCRT的脚本功能可以帮助工程师高效的进行网络设备的配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐