网络工程师脚本生成工具是一个脚本制作工具xlsm格式,工具只是将重复工作通过自己配置生成脚本代码来执行。考虑到易用性和数据操作的灵活性,采用EXCEL的VBA来进行开发,将数据放在表格中,方便直接编辑和调用。
本工具主要是针对简化网络工程师重复繁琐的工作而开发。工具只是将重复工作通过自己配置生成脚本代码来执行(其他运维场景估计也用得上)。
考虑到易用性和数据操作的灵活性,采用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]选择,有些情况不会出现,这时就可以用这个功能,等待几秒钟,如果没出现就继续下一条命令;可以指定执行次数,直到光标静止指定秒后退出本句命令。后附使用案例;
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不同或者聚合口数量不同,这时可以分两个脚本来创建,第一次创建通用部分(创建管理,设备命名等),第二次再针对不同的设备单独创建脚本。最后先执行第一个脚本,再执行第二个脚本也是可以的。(这种场景也可以一个脚本搞定,详见案例7)
3.自动生成开局脚本。本功能只做辅助,使用者要根据需求修改或调整代码至真实满足需求再生成脚本来使用。
4.收藏脚本和载入脚本的使用。经常使用到的已经调优好的脚本可以在代码区右键收藏脚本,并添加描述。也可以载入历史收藏的脚本。
5.生成SSH/Telnet登录主脚本,执行主脚本可以调用其他脚本从而实现自动登录自动执行的功能。
6. 等待字符串用法3(高级用法,5个参数)。案例:5台华为48口交换机堆叠成1台逻辑设备。大部分端口为access口,部分为trunk。现需要将所有端口修改为trunk,配置放行端口和PVID。由于部分端口是access属性,改成trunk时会弹出[Y/N]让你选择,而且不知道是多少个,除非一个个去数。这时我们可以使用等待字符串用法3来简单实现。案例如下。(案例中的参数:<[Y/N]>;<3>;<y>;<-5>;<48>)
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.工具中虽然集成了部分开局脚本等,只是作为辅助,并不是本工具的核心,厂家配置也会升级更新,工具中集成的脚本不一定永远适用,所以一定要自己测试。
使用本工具的前提是你要懂配置,工具只是帮你省点力!懂的人自然懂。
V1.6.3 更新记录 2022.2.25
1.开局脚本窗口新增移动功能,解决部分分辨率下显示不完整又没法移动的问题;
2.开局脚本功能下新增华为V200R020C00版本及以上需要开启管理源端口的代码;
3.更正操作文档案例5的不妥用法及新增使用案例。
140.5M / 09-05
76.4M / 03-25
55M / 06-05
237.9M / 04-13
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
484.7M / 09-27
165.4M / 09-05
353.9M / 06-05
131.8M / 04-13
195.6M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
110.5M / 09-05
33.4M / 09-05
325.8M / 08-12
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
369M / 09-22
181.5M / 09-22
201.2M / 09-05
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
1.76G / 09-22
1.92G / 04-17
116.2M / 04-10
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
561.8M / 07-11
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06
132M / 07-06