Board logo

标题: [问题求助] 如何用VBS实现telnet自动登录 [打印本页]

作者: eric2002cn    时间: 2013-3-30 08:47     标题: 如何用VBS实现telnet自动登录

各位大侠:
现在有两台电脑一台xp系统另一台是Linux系统(ubuntu)现在想在xp上通过telnet登录到linux那台电脑,控制linux的重启。我用VBS做了个bat文件(telnet.bat)。代码如下:
@echo off
echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "root{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "12345678{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
start telnet 192.167.1.100
echo sh.SendKeys "ifconfig{ENTER}" >>telnet_tmp.vbs
cscript //nologo telnet_tmp.vbs
del telnet_tmp.vbs
这段代码在win7系统上通过telnet登录另一台win7电脑并进行相应操作没有任何问题,可是放在xp上面通过telnet登录linux却无法登录。
当在xp上面运行这个telnet.bat的时候,首先会持续不断地弹出报错的命令行窗口,一直弹关都关不掉,具体报错信息如下:
1、程序无法存取档案,因为档案正由另一程序使用
2、root不是内部或外部命令
3、12345678不是内部或外部命令
4、找不到C:\Users\lgl\桌面\telnet_tmp.vbs
其中的“root”和“12345678"分别是Linux的登录用户名和密码。我在网上查了好多自动telnet登录服务器的用户名和密码都是在sh.SendKeys后面填写的,怎么到了xp上却始终无法执行呢
我在那台xp上的电脑通过手动telnet登录Linux毫无问题,为什么通过这段vbs却这么多错误呢。我在网上查了好多关于“telnet自动登录脚本”和我这段代码基本上都是一样的,而且同样的代码,在win7上面执行的很好,在xp上面却是错误百出

百思不得其解,还望各位帮忙看下问题症结所在,不胜感激!!!
作者: czjt1234    时间: 2013-3-31 16:51

可以看出,你发送的按键,没发送到telnet窗口,而是发送到cscript窗口去了

cscript //nologo telnet_tmp.vbs
这行改为
telnet_tmp.vbs
试试看

不行的话,再加个延时
ping -n 2 127.0.0.1 >nul & telnet_tmp.vbs
试试看




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2