Board logo

标题: VBS中sendkeys求解 [打印本页]

作者: wwtoxfh    时间: 2009-4-10 21:24     标题: VBS中sendkeys求解

VBSCript使用sendkeys发送命令到远端机器上,如何在本机获取发过去的命令的执行结果,

现在很想知道发出去的远程命令是否执行成功,有没有什么好的方法,请高手指点。

我目前只想到了一种比较笨的方法,那就是将远端命令的执行结果写入到远端系统中,然后再将文件FTP到本地,使用这种方法来获取命令的命令执行情况,感觉绕得太大了。

请问高手们,有没有比较简单的方法可以实现此功能,谢谢了!
作者: lxzzr    时间: 2009-4-10 21:45

可以用WMIC来解决,当然,这只是一种思路!
楼主,我不知道你要对远程主机执行什么命令,相对于远程主机,你的权限是怎样的,能举个例来看下么?

[ 本帖最后由 lxzzr 于 2009-4-10 21:50 编辑 ]
作者: wwtoxfh    时间: 2009-4-10 22:15

主要是想在远程主机上执行一些操作,比如:创建一个文件、执行一些检测命令看看系统目前是否正常等

操作权限肯定是有的。如果有需要的话,我可以使用root用户登录。

所以现在就想能够将发出去的命令的执行结果返回给本地,这样就可以知道远程服务的运行情况了。^_^
作者: lxzzr    时间: 2009-4-11 00:10

  1. wmic /node:"192.168.1.1" /user:"administrator" /password:"123456" process get name
复制代码


这是一个简单的例子,查询远程主机192.168.1.1 上的进程名
作者: wwtoxfh    时间: 2009-4-11 01:00

这个后面可以是另一台机器上的,任意系统命令或应用程序命令吗,然后再获取其值,感觉WMIC好像也不行吧。

其实我现在就是想,在windows下开一个TELNET窗口,然后telnet到远端服务器上(不是WINDOWS,有可能是AIX、ATAE、SUSE、LINUX等),然后再使用VBSCRIPT的SENDKEYS方法向这个窗口上发一些命令,使其能够自动登录,然后再发一些其它命令(命令的执行结果会在此窗口上显示,但是不知道在WINDOWS下如何获取这个窗口上的输出信息),在WINDOWS下获取这些命令的结果,然后再对结果进行分析,看对应的命令执行是否成功。

感觉应该可以调用WINDOWS下的API来实现,但是不知道该怎么弄。
作者: wwtoxfh    时间: 2009-4-11 01:10

如果实在没有更好的办法的话,那只有使用sock来实现了,WINDOWS下发命令过去,远程服务器程序执行命令,然后将结果返回给WINDOWS了。

只是这样做的话,感觉有些麻烦,所以想问问大家没有比较简单点的方法
作者: lxzzr    时间: 2009-4-11 01:27

  1. wmic /node:"192.168.1.1" /user:"administrator" /password:"123456" call create "cmd /k net user 001 001 /add"
复制代码

如果ReturnValue = 0;,则说明这个命令已经执行成功了




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