28
2021
12
10:33:53

转发 网络工程师脚本生成工具V1.6.2(交换机脚本批量生成 SecureCRT vbs脚本)

工具为本人原创,CSDN上首发的fclzuzu是我的账号。由于从事弱电行业,平时网络工程师不在,偶尔需要自己调试交换机。在调试中往往前端几十上百台设备的配置基本一样(除开地址,VLAN,名称不一样外),作为编程业余爱好者,最见不得简单有规律的工作重复做,再加上调试工具 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. 5台华为48口交换机堆叠成1台逻辑设备。大部分端口为access口。生成脚本批量改为trunk口。详见下图使用场景和功能介绍。

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


才发现论坛不能上传附件,几兆都不行。
那就跳转到CSDN上去下载吧。  https://download.csdn.net/download/fclzuzu/12912938
链接: https://pan.baidu.com/s/1lM5_VWwuN5uklSzLCtlX9g 提取码: jgs7 复制这段内容后打开百度网盘手机App,操作更方便哦
--来自百度网盘超级会员v5的分享



推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/2035.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: