吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 24622|回复: 181
收起左侧

[Windows] 【原创】网络工程师脚本生成工具V1.6.2(交换机脚本批量生成 SecureCRT vbs脚本)

    [复制链接]
zopost@126.com 发表于 2021-12-24 17:11
本帖最后由 zopost@126.com 于 2021-12-28 17:38 编辑

工具为本人原创,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列)。插入行:选中几行就在选中的上方插入几行。

工具界面介绍
image7.png

二、使用案例
1.接入层交换机,端口描述后自动保存。生成VBS脚本后,在SecureCRT的脚本菜单内选择VBS脚本文件执行。注意需要调用右侧列数据的命令要放在循环区域内,如果没加循环标签,系统会默认所有代码循环,造成不需要循环的代码也执行多次。({}花括号内的变量不区分大小写)
image12.png
2.生成一批交换机的开局脚本。以下案例是汇聚层交换机两台设备堆叠后的配置。堆叠后共20台逻辑设备。一次性生成20台设备的VBS脚本。包括的配置有:命名,设置管理地址,创建VLAN并添加描述,新建用户,开启SSH,配置上行口,创建聚合口等。
image8.png
上面代码中没有循环区域内容也是可以的,只不过是循环生成的每个脚本中,没有再循环创建VLAN和聚合口的部分。比如每台交换机的VLAN不同或者聚合口数量不同,这时可以分两个脚本来创建,第一次创建通用部分(创建管理,设备命名等),第二次再针对不同的设备单独创建脚本。最后先执行第一个脚本,再执行第二个脚本也是可以的。毕竟功能有限,不是所有情况都能一步到位。
3.自动生成开局脚本。本功能只做辅助,使用者要根据需求修改或调整代码至真实满足需求再生成脚本来使用。
image9.png
4.收藏脚本和载入脚本的使用。经常使用到的已经调优好的脚本可以在代码区右键收藏脚本,并添加描述。也可以载入历史收藏的脚本。
image10.png
5.生成SSH/Telnet登录主脚本,执行主脚本可以调用其他脚本从而实现自动登录自动执行的功能。
image11.png
6. 5台华为48口交换机堆叠成1台逻辑设备。大部分端口为access口。生成脚本批量改为trunk口。详见下图使用场景和功能介绍。
image13.png
7.如下图。假如要同时创建{a}列5台设备的脚本,但是每台设备对应的VLAN信息又不一样,分5次创建又嫌太麻烦。这时可以在创建VLAN的循环区域所引用的{b},{c}列中填写所有VLAN信息,并在数据前面添加{数字}的标签,这时就可以分开对应每台设备的VLAN,不会混淆了。(该功能只对生成多个脚本生效,且只有循环区间所调用数据才能加{数字},否则只会被解析成普通字符串){n}只能为英文半角字符,且没有空格,填写错误都会当做普通字符串解析。
image14.png

说明一下:生成的脚本与工具无关联,所有数据都以冗余代码的形式生成在脚本中,即执行脚本时不是到这个excel表格中调取数据,即使单独把脚本发给别人也可以正确执行。

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

免费评分

参与人数 104吾爱币 +98 热心值 +100 收起 理由
xunwokong + 1 + 1 谢谢@Thanks!
q741540947 + 1 + 1 谢谢@Thanks!
dd36 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hunwin + 1 我很赞同!
jdxjwz + 1 + 1 我很赞同!
深渊游侠 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
desuka + 1 + 1 鼓励转贴优秀软件安全工具和文档!
抗日小将 + 1 + 1 用心讨论,共获提升!
人时地事 + 1 + 1 真大佬
sakezy + 1 谢谢@Thanks!
qwdr325 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
mystunner + 1 + 1 半个弱点工程师,这个太方便了,试试去
xwjlwy + 1 谢谢@Thanks!
wang5710363 + 1 + 1 厉害厉害
小光芒℃ + 1 + 1 鼓励转贴优秀软件安全工具和文档!
韶阡寒 + 1 + 1 谢谢@Thanks!
qdxxglb3 + 1 + 1 热心回复!
lingfeng + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
异动的心 + 1 + 1 谢谢@Thanks!
sanshi007 + 1 + 1 谢谢@Thanks!
如丶果 + 1 + 1 我很赞同!
TGchan + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
qjh + 1 + 1 谢谢@Thanks!
wwww7788549 + 1 谢谢@Thanks!
风中漫步 + 1 + 1 谢谢@Thanks!
Li-Lee + 1 + 1 谢谢@Thanks!
okdd101 + 1 + 1 谢谢@Thanks!
jllxqbc + 1 + 1 谢谢@Thanks!
yesmm99 + 1 + 1 我很赞同!
c199188177c + 1 + 1 我很赞同!
cancellws + 1 + 1 谢谢@Thanks!
CaiMang + 1 谢谢@Thanks!
litra + 1 + 1 鼓励转贴优秀软件安全工具和文档!
shadowppp + 1 + 1 我很赞同!
唔射不亦精乎 + 1 + 1 我很赞同!
北极的企鹅 + 1 + 1 谢谢@Thanks!
混丶沌灬 + 1 + 1 感谢大佬,牛批
liug26555 + 1 + 1 谢谢@Thanks!
春雪 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
farmer1000 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
Stephen库里 + 1 + 1 我很赞同!
sliver99 + 1 + 1 我很赞同!
cool1000 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
捏雷炸队友 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
好爸爸网络 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
a137819659 + 1 + 1 大哥请收下我的膝盖!
unlimitedblade + 1 + 1 鼓励转贴优秀软件安全工具和文档!
Pony21 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
影子424 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
dongfeng555 + 1 + 1 谢谢@Thanks!
hsyjxp + 1 + 1 热心回复!
liao666lx + 1 用心讨论,共获提升!
crisislal + 1 + 1 我很赞同!
wwwbstone + 1 + 1 谢谢@Thanks!
yunfei2556 + 1 + 1 谢谢@Thanks!
xssuper + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
peterjian + 1 + 1 谢谢@Thanks!
贼大娃娃鱼 + 1 + 1 我很赞同!
玖玖大帅比 + 1 + 1 我很赞同!
青袂婉约 + 1 热心回复!
闲到哀伤 + 1 + 1 我很赞同!
guoruihotel + 1 + 1 谢谢@Thanks!
darpa + 1 + 1 谢谢@Thanks!
Hgulu + 1 + 1 我很赞同!
依音韵 + 1 + 1 绝绝子了我的哥,作为基层网工我觉得这个太强了
GeniusGYP + 1 + 1 鼓励转贴优秀软件安全工具和文档!
zhixiangwangluo + 1 + 1 谢谢@Thanks!
kanglong + 1 + 1 谢谢@Thanks!
adsl25 + 1 + 1 我很赞同!
533950 + 1 + 1 谢谢@Thanks!
精妹 + 1 我很赞同!
思念曹操 + 1 + 1 谢谢@Thanks!感谢分享好工具
mtswz008 + 1 这个好啊
Redceyul + 1 + 1 鼓励转贴优秀软件安全工具和文档!
xiyue3322 + 1 + 1 感谢大佬,很需要,很实用!!!
xaibin + 1 + 1 谢谢@Thanks!
acfun_zsy + 1 + 1 谢谢@Thanks!
afangwyf + 1 + 1 谢谢@Thanks!
zykok + 1 + 1 用心讨论,共获提升!
微小健 + 1 + 1 谢谢@Thanks!
mongodoc + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
abben + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
divo8206 + 1 + 1 谢谢@Thanks!
xiaojian1234 + 1 + 1 谢谢@Thanks!
yufeng800 + 1 + 1 谢谢@Thanks!
kerong12 + 1 + 1 鼓励下原创
理工小鸟 + 1 + 1 你最优秀~
nndyky + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
辉辉哥 + 1 + 1 谢谢@Thanks!
xingzhe1314 + 1 + 1 谢谢@Thanks!
SU1028 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
hellosk2 + 1 + 1 我很赞同!
再度征途 + 1 谢谢@Thanks!
Coonly + 1 + 1 谢谢@Thanks!
d9o + 1 + 1 吃饭的家伙都掏出来了,必须赞!
brostart + 1 + 1 感谢作者的辛勤付出和分享~~
DICE-zdz + 1 + 1 热心回复!
xy11096363 + 1 + 1 我很赞同!
zqq200808 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
虚拟时间 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| zopost@126.com 发表于 2022-1-1 17:09
tonekey2016 发表于 2022-1-1 09:17
牛批,我上白台的交换机要做季度巡检,还特地某鱼招人写了个脚本自动采集,有这个就牛逼了。

自动批量导出一批交换机的配置信息,可以如下操作:
华为华三设备举例,假如导出所有配置
1,可以先生成一个脚本
输入(带回车)        dis cur
等待字符串出现        <more>;<5>;< >;<-6>;<30>
以上是等待more字符串出现,当5秒内屏幕当前行出现more,则输入空格+回车继续显示,共重复30次(根据内容多少,可以多写几次)。-6表示当达到6秒光标没有移动,则表示所有内容显示完了,则跳出这条命令,命令结束。比如配置信息不多,总共只出现3次more,那就只会输入3次空格就退出了。
2,在其他常用脚本内生成调用外部脚本的主脚本。(需要按要求在数据区域填写设备地址、账号密码等信息,引用脚本的路径等信息)再在CRT上执行主脚本,执行成功后会在脚本目录保存执行记录及每台设备的屏幕显示信息。主脚本目录保存的日志是执行成功的记录,子脚本目录保存的是每次执行屏幕上显示的所有信息。
 楼主| zopost@126.com 发表于 2022-1-4 18:52
更正一下,案例5的用法不妥。“等待字符串出现再输入”用法的前面不应该用“等待光标不移动时间”的功能。正常环境因为光标不移动了,就表示屏幕没有新输出,那就永远等待不到这个字符串。(因为crt.screen.waitforstring方法是指执行到这行命令再判断接下来指定的几秒钟内是否出现等待的字符串)
如果要在这个用法前面做等待可以用”等待时间(ms)”
所以,同样道理,使用等待字符串出现的五参数用法,第4个参数尽量不要用正整数,可以用0,不等待光标静止,或者用负数。可以这样:<[Y/N]>;<3>;<y>;<-5>;<48>这个的逻辑是:首先判断3秒内是否出现[Y/N],如果出现则输入y,没有再进行下轮等待,总共48次。但是一旦出现光标静止5秒不动了,则认为需要输入y的这种操作全部显示完了,即跳出这一整行代码。这样的好处就是,在不确定这48个端口有多少属性发生修改,需要确认的情况下,确认48次可以,确认1次也可以,确认1次只是耗费1次的等待时间。
总之,说到底只是一个工具,做好的脚本还得要自己测试一遍,比较稳妥。
混沌的光与影 发表于 2021-12-25 09:31
优秀,可惜crt只能单线程跑,不过比手工快了
splzhk 发表于 2021-12-25 09:45
支持楼主,感谢分享,下载备用
aolezn 发表于 2021-12-25 09:53
楼主牛B ,多谢分享。。。
当语谁 发表于 2021-12-25 09:58
谢谢楼主分享
agsmwj 发表于 2021-12-25 11:26
感谢分享,谢谢!
虚拟时间 发表于 2021-12-25 11:26
感谢大佬分享,正是需要的
 楼主| zopost@126.com 发表于 2021-12-25 13:15
混沌的光与影 发表于 2021-12-25 09:31
优秀,可惜crt只能单线程跑,不过比手工快了

里面有个功能,生成1个主vbs脚本来自动ssh或telnet登录设备,再调用其他vbs脚本,并记录执行日志。可以一定程度做到无人值守。
weliong 发表于 2021-12-25 13:38
其他牛不牛 暂且不说,光这一长篇编辑下来,就够牛的了。
brostart 发表于 2021-12-25 13:44
这个工具牛啊,感谢作者的付出。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-18 03:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表