Windows远程login客户端可以编写脚本吗?

是否可以使用Windows Telnet客户端在脚本中运行一系列命令?

如果没有,可以有任何替代品?

天之前,我写了一个COM服务器,让我从VBScript做telnet。 如果你想要一个副本(包括源代码),我很乐意把它放在互联网上的某个地方。 我用它来远程重启路由器。

为了让你知道它的作用,下面是一个脚本示例(删除了错误检查)

const SVR = "www.microsoft.com" dim telnet, s, i set telnet = CreateObject("Rhs.Telnet") telnet.Startup() telnet.Connect SVR, 80 telnet.Writeline "GET / HTTP/1.0" telnet.Writeline "Host: www.microsoft.com" telnet.Writeline "User-Agent: RhsTelnet" telnet.Writeline "Accept: */*" telnet.Writeline "" do while telnet.Readline(s, 1000) wscript.echo s loop telnet.Disconnect() telnet.Cleanup() 

JR

链接到COM服务器:嗨Lachlan尝试http://www.ratsauce.co.uk/RouterCheck.zip

这是COM服务器和重启Draytek路由器的脚本。 脚本RouterCheck.wsf检查是否可以ping几个testing主机,所以你可能会想忽略大部分的代码。 只需使用RebootRouterfunction并忽略其余部分。 这是我的ADSL线路的末端,所以下载可能会有点慢。

如果有人想要源代码(带有ATL的Visual C ++ 5.0),那么我可以把它放在SourceForge上。

是。 看看这个线程 。

你可以安装Perl并使用Net :: Telnet,它可以让你发送和解释接收到的数据。

ActivePerl可能是最快捷的方式来启动和运行:

http://www.activestate.com/activeperl/

Net :: Telnetlogging在这里:

http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm

有关如何使用Net :: Telnet代码的其他问题可能属于StackOverflow。 你也可以看看www.perlmonks.org的例子和提示。

我知道这是一个非常古老的线索,但我从一个相关的问题来到这里,发现一个非常明显的答案是错过了。 曾经听说腻子? 有一个名为plink的命令行脚本版本。

Plink Howto Plink可执行文件

如果您不介意商业解决scheme,那么有一个名为TeSSH的业务telnet客户端,它具有丰富的脚本语言,可以从命令行运行。 它支持在vbs,perl和lua中写脚本。 这是相当便宜的$ 34.95。 您也可以访问TeSSH支持论坛 。

我基于以前的答案创build了这个批处理脚本:

 @ECHO OFF SET [email protected] SET [email protected] SET TF=%TEMP%\%~n0.vbs ( ECHO Set sh = WScript.CreateObject^("WScript.Shell"^) ECHO sh.SendKeys "HELO %COMPUTERNAME%~" ECHO sh.SendKeys "MAIL FROM: %ME%~" ECHO sh.SendKeys "RCPT TO: %TO%~" ECHO sh.SendKeys "DATA~" ECHO sh.SendKeys "From: %ME%~" ECHO sh.SendKeys "To: %TO%~" ECHO sh.SendKeys "Subject: Example subject...~" ECHO sh.SendKeys "~" ECHO sh.SendKeys "Contents...~" ECHO sh.SendKeys ".~" ECHO sh.SendKeys "QUIT~" ECHO WScript.Sleep 1000 ECHO sh.SendKeys "~" ) > "%TF%" START "" TELNET.EXE SMTPSERVER 25 CSCRIPT //NoLogo "%TF%" DEL "%TF%"