中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: VBS字符问题 上一主题 | 下一主题
xycoordinate
中级用户




积分 493
发帖 228
注册 2007-2-16
来自 安徽
状态 离线
『楼 主』:  VBS字符问题

在本论坛上学习,捣鼓自动更改CISCO路由器密码BAT,今天发现有点问题
原密码输入:maszh
新密码输入:maszh$%^
BAT运行也没有报错,后来TELNET测试登录路由器,发现新密码不能用。
另一台路由器,我把新密码改成maszh123,TELNET测试登录正常
怀疑是字符^在VBS里有特殊含义
???

tel.bat

  Quote:
@ECHO OFF
:: 2009-07-10
echo 批处理TELNET修改密码 V1.0
ECHO.
ECHO.
ECHO.
ECHO.
ECHO 注意:即将开始远程批配置,请关闭其它可执行程序!
ECHO 注意:配置过程中不要使用鼠标及键盘!
ECHO.
ECHO.
ECHO.
ECHO.
ECHO 按任意键开始EIA远程批配置
pause>nul
ECHO.

set /p o_passwd=put old password:
set /p n_passwd=put new password:

echo 批处理TELNET修改密码 >log.txt
echo %date:~,10% %time:~,8% >>log.txt
echo old password: "%o_passwd%" >>log.txt
echo new password: "%n_passwd%" >>log.txt
echo. >>log.txt

echo set WshShell=WScript.CreateObject("WScript.Shell")>telsvr.vbs
:: echo temp=WScript.Arguments.Item(0)>>telsvr.vbs
echo WScript.Sleep 5000>>telsvr.vbs
rem 用户
echo WshShell.SendKeys "cisco{ENTER}">>telsvr.vbs
echo WScript.Sleep 2000>>telsvr.vbs
rem 密码
echo WshShell.SendKeys "%o_passwd%{ENTER}">>telsvr.vbs
echo WScript.Sleep 2000>>telsvr.vbs
rem 设置
echo WshShell.SendKeys "configure terminal{ENTER}">>telsvr.vbs
echo WScript.Sleep 2000>>telsvr.vbs
::注:2610只能设置password,不能设置secret
echo WshShell.SendKeys "username cisco privilege 15 password 0 %n_passwd%{ENTER}">>telsvr.vbs
echo WScript.Sleep 2000>>telsvr.vbs
echo WshShell.SendKeys "exit{ENTER}">>telsvr.vbs
echo WScript.Sleep 2000>>telsvr.vbs
echo WshShell.SendKeys "write{ENTER}">>telsvr.vbs
echo WScript.Sleep 10000>>telsvr.vbs
echo WshShell.SendKeys "exit{ENTER}">>telsvr.vbs
echo WScript.Sleep 2000>>telsvr.vbs
echo WshShell.SendKeys "{ENTER}">>telsvr.vbs

for /f %%i in (list.txt) do start telnet %%i && cscript //nologo telsvr.vbs %%i && echo %%i done!>>log.txt

:: del /q telsvr.vbs

echo.
ECHO 批量配置完成
pause>nul

list.txt

  Quote:
192.168.53.6

telsvr.vbs

  Quote:
set WshShell=WScript.CreateObject("WScript.Shell")
WScript.Sleep 5000
WshShell.SendKeys "cisco{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "maszh{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "configure terminal{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "username cisco privilege 15 password 0 maszh$%^{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "exit{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "write{ENTER}"
WScript.Sleep 10000
WshShell.SendKeys "exit{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "{ENTER}"



2010-6-9 10:55
查看资料  发送邮件  发短消息 网志  OICQ (226308607)  编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 2 楼』:  [ISS110001002562_1276051705828]

键 特殊字符
SHIFT +
CTRL ^
ALT %


WshShell.SendKeys "username cisco privilege 15 password 0 maszh${%}{^}{ENTER}"



┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
2010-6-9 11:13
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
xycoordinate
中级用户




积分 493
发帖 228
注册 2007-2-16
来自 安徽
状态 离线
『第 3 楼』:  

那我输入的maszh$%^到底变成什么字符了?

碰巧我把密码设置成type7了,密文显示

2010-6-9 11:33
查看资料  发送邮件  发短消息 网志  OICQ (226308607)  编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 4 楼』:  [ISS110001002562_1276054405781]

那就是 maszh$ 吧,CTRL 跟 ALT 在 CMD 窗口中没有任何反应,而且你后面的回车可能受 ALT 影响而失效。



┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
2010-6-9 11:58
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: