利用脚本批量修改h3C交换机super3

发布时间:2019-08-25 09:33:22编辑:auto阅读(2030)

    因安全规则要求,必须定期修改交换机密码, 而交换机数量多,所以配置了一个脚本远程自动修改。

    脚本命令如下:

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

    ' Connect to an SSH server using the SSH2 protocol. Specify the
    ' username and password and hostname on the command line as well as
    ' some SSH2 protocol specific options.

    Sub Main


     Dim user
      user = "***"     'ssh登录设备时的用户名

     Dim passwd

      passwd = "*******"    ’ssh登录的密码

     Dim superpwd

       superpwd="******"  '原来super3的密码

     Dim fso,file,host

      '打开保存设备管理地址文件
      Const ForReading = 1,ForWriting = 2
     
     

      Set fso = CreateObject("Scripting.FileSystemObject")  

    '定义一个ip列表文档,将所有交换机的ip地址单独列出,表格无需任何格式,只用每行一个ip地址就可以

      Set file = fso.OpenTextFile("D:\办公文档\运维管理\修改交换机super3密码\ip.txt",Forreading, False)

     
      crt.Screen.Synchronous = True  

      DO While file.AtEndOfStream <> True

      '读出每行,将每一行ip赋予host

          host = file.ReadLine

         crt.session.LogFileName = "D:\办公文档\运维管理\修改交换机super3密码\" & host & ".txt"

         crt.session.Log(true)

         ' SSH登陆
         
         cmd = "/SSH2 /L " & user & " /PASSWORD " & passwd & " /C AES-128 /M MD5 " & host

         crt.Session.Connect cmd

         '输入super 密码

         crt.Screen.WaitForString ">"

         crt.Screen.Send "super" & Chr(13)

         crt.Screen.WaitForString ":"

         crt.Screen.Send superpwd & Chr(13)

         '登录系统视图

         crt.Screen.WaitForString ">"

         crt.Screen.Send "sys" & Chr(13)

         crt.Screen.WaitForString "]"

        '修改super3密码

          crt.Screen.Send "super password level 3 cipher 123456"& Chr(13) '123456为你修改的密码

         crt.Screen.WaitForString "]"

         '保存配置

         crt.Screen.Send "save"& Chr(13)

         crt.Screen.Send "Y" &  Chr(13)

         crt.Screen.WaitForString ":"

         crt.Screen.Send  ""&  Chr(13)
         
         crt.Screen.WaitForString "[Y/N]:"

         crt.Screen.Send "Y" &  Chr(13)

         crt.Screen.WaitForString "successfully."

         crt.Screen.Send  ""&  Chr(13)

         crt.Screen.WaitForString "]"


         '退出程序

         crt.Screen.Send "quit"& Chr(13)

         crt.Screen.WaitForString ">"

         crt.Screen.Send "quit"& Chr(13)

         crt.Session.Disconnect

      loop

         crt.Screen.Synchronous = False
    End Sub

关键字