[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] BAT自动登录网络设备修改配置

小弟公司有一批设备要进行修改配置.如何实现自动登录上去修改相应的配置
具体的一些思路:
交互窗口TELNET,提示我输入目标IP.用户名和密码,然后登录上去后执行我输入的内容.内容一共分两种,分别是两种不同的设备.这个一是我可以自己进行判断它是什么设备.第二个也可以通过类似show ver这样的命令来自己判断.
因为设备在600-700台左右,操作内容太多.活紧.

本帖最后由 MLJM 于 2015-5-19 16:04 编辑

可以试下用BAT调用VBS
  1. @echo off
  2. echo set sh=WScript.CreateObject("WScript.Shell") >%TMP%\telnet_tmp.vbs
  3. echo WScript.Sleep 300 >>%TMP%\telnet_tmp.vbs
  4. echo sh.SendKeys "open IP" >>%TMP%\telnet_tmp.vbs
  5. echo sh.SendKeys "{ENTER}" >>%TMP%\telnet_tmp.vbs
  6. echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
  7. echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
  8. echo sh.SendKeys "用户名{ENTER}" >>%TMP%\telnet_tmp.vbs
  9. echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
  10. echo sh.SendKeys "密码{ENTER}">>%TMP%\telnet_tmp.vbs
  11. echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
  12. echo sh.SendKeys "执行命令{ENTER}">>%TMP%\telnet_tmp.vbs
  13. echo WScript.Sleep 3500 >>%TMP%\telnet_tmp.vbs
  14. echo sh.SendKeys "{ENTER}">>%TMP%\telnet_tmp.vbs
  15. echo WScript.Sleep 2000 >>%TMP%\telnet_tmp.vbs
  16. echo sh.SendKeys "exit{ENTER}">>%TMP%\telnet_tmp.vbs   //断开
  17. echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
  18. echo sh.SendKeys "{ENTER}">>%TMP%\telnet_tmp.vbs
  19. echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
  20. echo sh.SendKeys "{ENTER}">>%TMP%\telnet_tmp.vbs
  21. echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
  22. echo sh.SendKeys "{ENTER}">>%TMP%\telnet_tmp.vbs
  23. echo WScript.Sleep 1000 >>%TMP%\telnet_tmp.vbs
  24. echo sh.SendKeys "quit{ENTER}">>%TMP%\telnet_tmp.vbs     //退出telnet
  25. start telnet
  26. rem batch telnet
  27. cscript %TMP%\telnet_tmp.vbs
  28. del %TMP%\telnet_tmp.vbs
复制代码

TOP

回复 6# yiwuyun


  可以导,麻烦的是批量。防火墙配置还是比较大的。而且导出只能在WEB界面下实下,在CRT里可以保存下来,但是不会写CRT的脚本。

TOP

回复 5# gawk

请教PSEXEC的用法。测试了一下交换机防火墙一类的东西。没弄明白
百度找了一下都是说psexec \\xx.xx.xx.xx 这样的格式。应该是IPC$的共享命令。如何实现TELNET那样的直接连接23端口?

TOP

设备难道不能导出数据到txt文件,这个我想最简单的路由器也行吧。然后再从txt中查找自己需要的数据。还有一些备能完整导入导出数据到txt,然后你只需修改txt再导入就行了。

TOP

回复 4# ttskying


    可以试试PsTools工具包里面的psexec命令,或许有用。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

目前处理方法:万一有人用得着呢
网上有一个MY TELNET的工具,支持从文件进行读取本地对应地址,密码,及相关配置命令。
虽然外网接口无法一次性做到同步,不过这种方法应该是目前快解决的办法。批量设置完成内网地址及用户密码。然后使用SH INT 或GET INT命令获取外网地址。这个缓存保存在本地。然后用findstr来查找这个文本中所有的外网地址生成另外一个文档,再次使用工具进行批量操作。3天干完!!不加班

TOP

感谢您的回答。
如您说讲,我已经百度到这样的脚本,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的值来实现全自动。

请大大指点,感激不尽

TOP

可以这样?
1. 复制所有命令到剪贴板
2. 前置telnet窗口,发送模拟按键(主要是命令配置部分?)
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

返回列表