RDP连接/响应测试

4

我想编写一个应用程序来测试Windows机器是否正确响应RDP(远程桌面) - 即检查机器不仅允许连接,而且还正常响应,并且没有挂起或以其他方式异常响应。

是否有库或实用程序可用于此?我的搜索结果显示了完整的RDC客户端,但我希望至少有一些提供API进行测试的东西。我最想使用Java或脚本语言来完成这个任务,但我也愿意听取建议。


你有这些机器的管理员访问权限吗? - Skyl3r
2个回答

1
Experts Exchange上发现了这个:
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 10, Prompt => '', Port >= 3389);
if($t->open("computer.name.or.ip")) {
    print "Connect successful\n";
}
else {
    print "Could not connect\n";
}

这个想法是尝试连接,如果在“x”秒内无法连接,则假定它不起作用。如果您正在尝试查看特定用户的登录是否有效,则会变得更加复杂,但这应该至少可以让您开始。

注意:正如评论中指出的那样,原始解决方案省略了RDP端口,因此我在这里包含了它...


只是为了澄清,我需要的不仅仅是telnet。我需要确认不仅可以处理连接,而且远程桌面也是响应的。 - Rob

1

您可以在这个问题中找到一些好的答案:编程创建和启动RDP会话(无GUI)

由于RDP是一个不断发展的专有协议,我猜测没有一些简单的开源代码可以拿来使用。这让我们有两条可能要走的路:

  1. 使用Microsoft RDP ActiveX控件(在Windows上)
  2. 启动mstsc.exe并向其发送键盘事件(同样在Windows上,使用您喜欢的语言)

对于第二个选项,我建议使用AutoHotkey。它非常适合自动化Windows程序,并配备了强大的库。它还有一个强大的社区支持,因此您可以在互联网上找到许多有用的脚本。我用它来控制Winamp(比如“我讨厌这首歌!删除它并移动到下一首”)(好吧,技术上是“移动到下一首歌曲并删除前一个”,因为您不能在使用文件时删除它,但您明白我的意思)。如果您选择这条路线,我可以帮您编写脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接