0

    网络工程师脚本生成工具V1.6.7-交换机脚本批量生成SecureCRTvbs

    2023.06.24 | admin | 203次围观

    版本:V1.6.7

    整理:婷宝(今日头条:李苒晴)

    特性:很实用的运维工具|网工神器|

    属性:xlsm脚本

    前言:

    据fclzuzu阐述SecureCRT 本身就支持脚本功能,这么好的功能不利用简直是浪费。如是就想到如果把每台交换机要配置的命令,生成SecureCRT能够直接执行的脚本,那配置交换机岂不变成分分钟的事。他在网上也找过类似工具,要么就功能鸡肋,要么就不够智能,或者操作复杂,总之感觉不适用,还不如他自己开发一个,因此就有了本工具。

    陆续一年多结合现场实际使用,版本更新很多次,目前使用感觉到很方便了。为了使自己创造得更有价值,他也希望能帮到同行或做运维的人网络交换机可以重复,特与我们大家一起探讨学习。

    一、工具介绍

    本工具主要是针对简化网络工程师重复繁琐的工作而开发。工具只是将重复工作通过自己配置生成脚本代码来执行(其他运维场景估计也用得上)。

    考虑到易用性和数据操作的灵活性,采用EXCEL的VBA来进行开发,将数据放在表格中,方便直接编辑和调用。建议使用microsoft office excel 2010版及以上来打开使用,并且打开时需要允许启用宏代码,否则所有功能无法执行(放心使用,无病毒,代码完全开源,懂VBA的自己可以查看或修改)。WPS个人版不支持VBA无法打开使用,支持VBA的付费版本不确定是否兼容,没有测试过。

    本工具的大致功能可以概括为以下几点:

    1. 可以1分钟生成华为、华为三等交换机的开局脚本;

    2. 可以1分钟生成100台相同配置的脚本(名称、IP、VLAN、描述等信息不同);

    3. 可以1分钟自动配完1台交换机,并自动保存(配好自己定制的所有功能);

    自动执行功能是基于SecureCRT 所支持的VBS脚本来定制的,使用者不必要懂得VBS脚本的语法和CRT对象的使用,只需简单操作即可定制生成SecureCRT可以执行的VBS脚本。对于不使用SecureCRT的用户也可以生成txt脚本内容,复制粘贴来使用,只是不能做到自动化,但是生成的重复代码也可以极大减少工作量。作者还是强烈建议使用SecureCRT,再使用此工具来配合。

    以下操作说明主要针对生成SecureCRT VBS脚本的功能和使用来介绍

    SecureCRT VBS脚本能实现的功能和工具的一些其他功能:

    1. 自动输入命令,并按回车;

    2. 延时等待。等待指定秒数再执行下一句命令(新增延时等待光标不移动指定秒数再执行下一句命令的功能。在动作中选择等待光标移动的时间。建议使用这个功能来做等待);

    3. 等待某字符串。当出现某个字符后再进行下一句命令。比如:华为交换机,我要进入aaa模式创建用户,这时可以设置等待屏幕出现aaa后,再执行下面的命令,避免脚本执行出现意外不可控的情况(默认3秒没等到发送一次回车,一直循环);

    4. 延时等待某字符串指定时间后执行某命令,指定时间内没有等到则跳过,执行下一条命令。比如配置某些命令,在有些情况会出现[Y/N]选择,有些情况不会出现,这时就可以用这个功能,等待几秒钟,如果没出现就继续下一条命令;(V1.6.2新增功能:本条功能新增参数指定光标静止不移动时间后再等待输入,且可以对光标静止不移动+等待输入整体指定执行次数。后附使用案例)

    5. 代码循环功能。比如要生成100台交换机的配置脚本,只需一份模板,将这100台交换机的IP等信息放在数据区域调用即可一键生成。再比如具体某一台设备内要创建20个VLAN并添加描述用于开局,只需写一次执行过程的命令放在循环区域内然后调用数据区域的VLAN和描述数据即可自动生成该段代码。具体使用后面的案例说明;

    6. 日志功能。SecureCRT执行完脚本后自动保存执行过程日志,便于事后查看;

    7. 生成自动SSH/Telnet登陆,登陆成功后自动执行指定脚本的脚本功能;

    8. 生成开局脚本(目前支持华为、华三);

    9. 生成其他常用脚本(开机自动修改密码、自动端口描述、自动AP修改名称并分组);

    10. 收藏及载入收藏功能(功能在代码区域右键菜单中)常用配置好的代码可以收藏,下次再载入收藏的代码;

    11. 删除和插入行(仅AB列)(功能在代码区域右键菜单中),由于EXCEL中插入和删除整行会影响右侧数据区域的数据,特增加了此功能,添加行和删除行只对代码区生效。强烈推荐使用。删除:选中几行就删除几行(仅AB列)。插入几行:选中几行就在选中的上方插入几行。

    工具界面介绍

    二、使用案例

    1.接入层交换机,端口描述后自动保存。生成VBS脚本后,在SecureCRT的脚本菜单内选择VBS脚本文件执行。注意需要调用右侧列数据的命令要放在循环区域内,如果没加循环标签,系统会默认所有代码循环网络交换机可以重复,造成不需要循环的代码也执行多次。({}花括号内的变量不区分大小写)

    2.生成一批交换机的开局脚本。以下案例是汇聚层交换机两台设备堆叠后的配置。堆叠后共20台逻辑设备。一次性生成20台设备的VBS脚本。包括的配置有:命名,设置管理地址,创建VLAN并添加描述,新建用户,开启SSH,配置上行口,创建聚合口等。

    上面代码中没有循环区域内容也是可以的,只不过是循环生成的每个脚本中,没有再循环创建VLAN和聚合口的部分。比如每台交换机的VLAN不同或者聚合口数量不同,这时可以分两个脚本来创建,第一次创建通用部分(创建管理,设备命名等),第二次再针对不同的设备单独创建脚本。最后先执行第一个脚本,再执行第二个脚本也是可以的。毕竟功能有限,不是所有情况都能一步到位的。

    3.自动生成开局脚本。本功能只做辅助,使用者要根据需求修改或调整代码至真实满足需求再生成脚本来使用。

    4.收藏脚本和载入脚本的使用。经常使用到的已经调优好的脚本可以在代码区右键收藏脚本,并添加描述。也可以载入历史收藏的脚本。

    5.生成SSH/Telnet登录主脚本,执行主脚本可以调用其他脚本从而实现自动登录自动执行的功能。

    6. 等待字符串用法3(高级用法,5个参数)。案例:5台华为48口交换机堆叠成1台逻辑设备。大部分端口为access口,部分为trunk。现需要将所有端口修改为trunk,配置放行端口和PVID。由于部分端口是access属性,改成trunk时会弹出[Y/N]让你选择,而且不知道是多少个,除非一个个去数。这时我们可以使用等待字符串用法3来简单实现。案例如下。(案例中的参数:;;;;)

    7.如下图。假如要同时创建{a}列5台设备的脚本,但是每台设备对应的VLAN信息又不一样,分5次创建又嫌太麻烦。这时可以在创建VLAN的循环区域所引用的{b},{c}列中填写所有VLAN信息,并在数据前面添加{数字}的标签,这时就可以分开对应每台设备的VLAN,不会混淆了。(该功能只对生成多个脚本生效,且只有循环区间所调用的数据才能加{数字},否则只会被解析成普通字符串){n}只能为英文半角字符,且没有空格,填写错误都会当做普通字符串解析

    8.自动导出一批交换机的配置。参照案例5,案例6的用法。按照案例5的用法生成自动登陆设备的主脚本,来调用下面案例生成的脚本。(下面案例为华为或华三设备)

    以上是等待more字符串出现,当5秒内屏幕当前行出现more,则输入空格+回车继续显示,共重复30次(根据内容多少,可以多写几次)。-6表示达到6秒光标没有移动,表示所有内容显示完了,则跳出这条命令,命令结束。比如配置信息不多,总共只出现3次more,那就只会输入3次空格就退出了。屏幕上显示的所有内容会自动保存成日志文件。

    作者建议:

    1.生成多个脚本时建议把设备名称放在{a}列,这样生成的脚本中就会包含设备名称,便于区分,否则会是-1,-2,-3这样子,不好区分哪个对应哪个。(注意文件名及路径不要包含?*|%"/\等非法字符);

    2.多使用收藏功能。自己调优好的脚本可以在代码区右键收藏,下次类似项目直接加载稍加修改就行,省时省力;

    3.生成的脚本一定要自己测试调优,没有问题再批量生成去刷设备;

    4.工具中虽然集成了部分开局脚本等,只是作为辅助,并不是本工具的核心,厂家配置也会升级更新,工具中集成的脚本不一定永远适用,所以一定要自己测试。

    使用本工具的前提是你要懂配置,工具只是帮你省点力!懂的人自然懂。

    获取方式:

    1.第一步:关注今日头条@李苒晴

    2. 第二步:关注后私信,回复关键词:网工脚本

    快捷自助领取:「链接」

    3.免费获取人数较多,如若没回复,请耐心等待

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论