【发布时间】:2011-08-11 02:30:00
【问题描述】:
我想使用 Java 程序从本地计算机连接到远程 Windows 桌面计算机。
我必须检查远程机器上的磁盘空间和其他几个服务。
【问题讨论】:
标签: java remote-access
我想使用 Java 程序从本地计算机连接到远程 Windows 桌面计算机。
我必须检查远程机器上的磁盘空间和其他几个服务。
【问题讨论】:
标签: java remote-access
远程桌面连接
Java
// Creating credentials
Process p = Runtime.getRuntime().exec("cmdkey /generic:" + ip +
" /user:" + userName +
" /pass:" + password);
p.destroy();
Runtime.getRuntime().exec("mstsc /v: " + ip + " /f /console");
Thread.sleep(2*60*1000); // Minutes seconds milliseconds
// Deleting credentials
Process p1 = Runtime.getRuntime().exec("cmdkey /delete:" + ip);
p1.destroy();
C:> cmdkey /generic:192.168.0.11 /user:XXXXX /pass:XXXXX
CMDKEY: Credential added successfully.
C:> mstsc.exe /v:192.168.0.11 /w:800 /h:600
Connecting to Remote Desktop.
C:> cmdkey /delete:192.168.0.11
CMDKEY: Credential deleted successfully.
【讨论】:
您也可以考虑使用RDP Java 解决方案。
那里有很多解决方案。在 Comparison of Java Remote Desktop projects 上查看它们。
【讨论】:
答案取决于您的本地机器(主机)使用什么操作系统连接到远程目标 Windows 机器。
如果是基于 Unix 的机器,我建议使用开源库 j-Interop。
注意,您可能需要手动修改目标框上的注册表,以便它可以正常工作(确保您仔细阅读项目网站的常见问题解答)。如果您发现奇怪的问题(连接时抛出的异常),这里有一篇很好的文章帮助我解决了这些问题:Windows slaves fail to start via DCOM
另一方面,如果您使用 Windows 机器作为主机,那么您的生活会轻松很多。我建议使用:
请注意,以上所有项目都是开源项目。
上面提到的免费软件版本是j-Integra,但我从未尝试过使用它。
【讨论】:
您可以在远程桌面上安装 SSH 服务器,并且可以使用本地计算机上的 jcraft 和 jsch 库编写 Java 程序来与远程桌面建立 SSH 连接。
【讨论】: