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

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的脚本功能可以帮助工程师高效的进行网络设备的配置

你可能感兴趣的:(脚本,职场,休闲,批量修改,crt)