• 用vbs脚本远程登录批量交换机保存配置


    大家好,好久没写博客了,最近都在忙着学习python自动化脚本,有兴趣想交流的可以扫下方二维码,欢迎打扰哦。

    特别是网络运维,python这一块的小伙伴,对于现在自动化运维这么火的时候,如果每天都是重复着平淡重复性的工作,可以学习python自动化运维,工作可以做到事半功倍。是不是觉得特别高大上,好了,接下来,推送干货的时间到了。

    作为一个网络运维工程师,少不了定期对路由器交换机防火墙等网络设备进行配置备份。根据我个人的实战经验,如果是传统的一台台进行手动ssh登录,然后敲入命令log文件,25台就需要30分钟左右,现在有了自动化脚本,25台只需要3分钟的时间就可以完成,是不是效率很高呢!下面,进行脚本代码分析。

    使用到的脚本是vbs脚本,还有一个list.txt存放交换机的登录账号密码的。

    list.txt:例如下方的截图,每一行的内容是:ip地址 设备逻辑名 账号 密码,一行写一台设备的信息。

     备份.vbs脚本:

    在E:备份配置脚本,这个文件夹可以存放list.txt和备份.vbs脚本,在E:配置备份九月份 存放设备的配置备份。

    #$language = "VBScript"
    # $interface = "1.0"  
    '本脚本示范:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份 
    Sub Main
    '打开保存设备管理地址、名称以及密码的文件
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Dim fso,file1,line,str1,params
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set file1 = fso.OpenTextFile("E:备份配置脚本list1.txt",Forreading, False)
    crt.Screen.Synchronous = True
    DO While file1.AtEndOfStream <> True
    '读出每行
    line = file1.ReadLine
    '分离每行的参数 IP地址 密码 En密码
    params = Split (line)
    crt.session.LogFileName = "E:配置备份九月份" & params(1) & " " & params(0) & ".txt"
    crt.session.Log(true)
    'SSH到这个设备上
    crt.Session.Connect ("/SSH2 /PASSWORD "& params(3) & " " & params(2) & "@" & params(0))
    '备份配置
    str1 = "Disp cur"
    crt.Screen.Send str1 & vbcr 
    Do Until crt.Screen.WaitForString ("---- More ----",3) = False
    crt.Screen.Send " "
    loop
    
    '备份完成后退出          
    
    crt.Session.Disconnect
    
    loop
    
    crt.Screen.Synchronous = False
    
    End Sub
    

     很多设备,可以因为厂商不同,用的查询命令不一样,我的例子用的是华为交换机设备,如果有多种不同设备,可以采用多个脚本,相同厂商的设备可以放在一个list.txt里面,取决于命令是否相同。

     备份.vbs脚本标红色的字体,就是设备查询配置的命令,出现show cu这种命令,可以代替里面的‘disp cur’,就是这么简单的一个脚本。

     做好这两个脚本后,就可以代开crt终端软件。

    1、

    2、点击执行,然后出现选择vbs文件的框,找到你存放的文件夹,打开备份.vbs脚本,点击打开,如无意外,可以看到脚本已经正常打开你想备份的设备,自动执行备份配置的操作,如果出现报错,就需要你重新审核你的vbs脚本和list.txt文本了。

    需要一个vbs脚本,也可以打开链接 https://pan.baidu.com/s/1aewzh561bndY-toPiIU-Mg 提取码: nggv下载下来。

    好了,今天的客厅已经讲完了,有问题解决不了可以私信我,多多支持我哦!

    如有问题请留言,谢谢!
  • 相关阅读:
    Centos7:mariadb替换mysql
    CentOS5 部署 戴尔OMSA
    《Zero MQ》
    可扩展的Web架构和分布式系统
    队列实现
    超级好用的正则表达式网站
    <转>undefined与null的区别
    JS事件
    sublime text 3 快捷键
    设置className的方式(不使用setAttribute)
  • 原文地址:https://www.cnblogs.com/yunsi/p/11712805.html
Copyright © 2020-2023  润新知