找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 12212|回复: 6

VBS中sendkeys求解

[复制链接]
发表于 2009-4-10 21:24:07 | 显示全部楼层 |阅读模式
VBSCript使用sendkeys发送命令到远端机器上,如何在本机获取发过去的命令的执行结果,

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

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

请问高手们,有没有比较简单的方法可以实现此功能,谢谢了!
发表于 2009-4-10 21:45:53 | 显示全部楼层
可以用WMIC来解决,当然,这只是一种思路!
楼主,我不知道你要对远程主机执行什么命令,相对于远程主机,你的权限是怎样的,能举个例来看下么?

[ 本帖最后由 lxzzr 于 2009-4-10 21:50 编辑 ]
 楼主| 发表于 2009-4-10 22:15:29 | 显示全部楼层
主要是想在远程主机上执行一些操作,比如:创建一个文件、执行一些检测命令看看系统目前是否正常等

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

所以现在就想能够将发出去的命令的执行结果返回给本地,这样就可以知道远程服务的运行情况了。^_^
发表于 2009-4-11 00:10:16 | 显示全部楼层
  1. wmic /node:"192.168.1.1" /user:"administrator" /password:"123456" process get name
复制代码


这是一个简单的例子,查询远程主机192.168.1.1 上的进程名
 楼主| 发表于 2009-4-11 01:00:18 | 显示全部楼层
这个后面可以是另一台机器上的,任意系统命令或应用程序命令吗,然后再获取其值,感觉WMIC好像也不行吧。

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

感觉应该可以调用WINDOWS下的API来实现,但是不知道该怎么弄。
 楼主| 发表于 2009-4-11 01:10:18 | 显示全部楼层
如果实在没有更好的办法的话,那只有使用sock来实现了,WINDOWS下发命令过去,远程服务器程序执行命令,然后将结果返回给WINDOWS了。

只是这样做的话,感觉有些麻烦,所以想问问大家没有比较简单点的方法
发表于 2009-4-11 01:27:39 | 显示全部楼层
  1. wmic /node:"192.168.1.1" /user:"administrator" /password:"123456" call create "cmd /k net user 001 001 /add"
复制代码

如果ReturnValue = 0;,则说明这个命令已经执行成功了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:06 , Processed in 0.018906 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表