标题: [其他] BAT自动登录网络设备修改配置 [打印本页]
作者: ttskying 时间: 2015-5-7 09:57 标题: BAT自动登录网络设备修改配置
小弟公司有一批设备要进行修改配置.如何实现自动登录上去修改相应的配置
具体的一些思路:
交互窗口TELNET,提示我输入目标IP.用户名和密码,然后登录上去后执行我输入的内容.内容一共分两种,分别是两种不同的设备.这个一是我可以自己进行判断它是什么设备.第二个也可以通过类似show ver这样的命令来自己判断.
因为设备在600-700台左右,操作内容太多.活紧.
作者: yu2n 时间: 2015-5-7 19:35
可以这样?
1. 复制所有命令到剪贴板
2. 前置telnet窗口,发送模拟按键(主要是命令配置部分?)
作者: ttskying 时间: 2015-5-7 20:41
感谢您的回答。
如您说讲,我已经百度到这样的脚本,TELNET上去,用sendkeys模拟按键发送相关配置。有一个问题尚未解决,我TELNET上去以后,是需要取它里面的一个外网接口地址的值,然后通过外网接口进去配置,因为配置内网的会导致内网断掉,所以必须在不同接口下进行配置。
现在问题是我如何取得到这个值?烦请指教
百度中还找到一些CRT方面的脚本,只能单个,无法批量。设备太多正在往这个方向研究。
如:
目标地址是:100.1.1.1
用户名密码是:admin
当我登录上去以后会用一个show int 或者get int这样的命令,外网接口是ETH0/0一类的后面跟非固定IP
我要取ETH0/0后面这行的值。然后通过这个地址上去.
还有一个,比如我内网地址固定。有规律可循,都是100.1.x.1这样的。这样地址我可以直接生成为TXT或者EXCEL,用户名密码亦可以直接有这样的规律,可以存为TXT类文件,我甚至可以直接通地读取TXT的值来实现全自动。
请大大指点,感激不尽
作者: ttskying 时间: 2015-5-11 13:55
目前处理方法:万一有人用得着呢
网上有一个MY TELNET的工具,支持从文件进行读取本地对应地址,密码,及相关配置命令。
虽然外网接口无法一次性做到同步,不过这种方法应该是目前快解决的办法。批量设置完成内网地址及用户密码。然后使用SH INT 或GET INT命令获取外网地址。这个缓存保存在本地。然后用findstr来查找这个文本中所有的外网地址生成另外一个文档,再次使用工具进行批量操作。3天干完!!不加班
作者: gawk 时间: 2015-5-11 15:21
回复 4# ttskying
可以试试PsTools工具包里面的psexec命令,或许有用。
作者: yiwuyun 时间: 2015-5-12 11:37
设备难道不能导出数据到txt文件,这个我想最简单的路由器也行吧。然后再从txt中查找自己需要的数据。还有一些备能完整导入导出数据到txt,然后你只需修改txt再导入就行了。
作者: ttskying 时间: 2015-5-15 14:16
回复 5# gawk
请教PSEXEC的用法。测试了一下交换机防火墙一类的东西。没弄明白
百度找了一下都是说psexec \\xx.xx.xx.xx 这样的格式。应该是IPC$的共享命令。如何实现TELNET那样的直接连接23端口?
作者: ttskying 时间: 2015-5-15 14:17
回复 6# yiwuyun
可以导,麻烦的是批量。防火墙配置还是比较大的。而且导出只能在WEB界面下实下,在CRT里可以保存下来,但是不会写CRT的脚本。
作者: MLJM 时间: 2015-5-19 15:57
本帖最后由 MLJM 于 2015-5-19 16:04 编辑
可以试下用BAT调用VBS- @echo off
- echo set sh=WScript.CreateObject("WScript.Shell") >%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 300 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "open IP" >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "{ENTER}" >>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "用户名{ENTER}" >>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "密码{ENTER}">>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "执行命令{ENTER}">>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 3500 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "{ENTER}">>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 2000 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "exit{ENTER}">>%TMP%\telnet_tmp.vbs //断开
- echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "{ENTER}">>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "{ENTER}">>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "{ENTER}">>%TMP%\telnet_tmp.vbs
- echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
- echo sh.SendKeys "quit{ENTER}">>%TMP%\telnet_tmp.vbs //退出telnet
-
-
- start telnet
- rem batch telnet
-
- cscript %TMP%\telnet_tmp.vbs
- del %TMP%\telnet_tmp.vbs
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |