【问题标题】:How do I connect a remote Windows machine by Java?如何通过 Java 连接远程 Windows 机器?
【发布时间】:2011-08-11 02:30:00
【问题描述】:

我想使用 Java 程序从本地计算机连接到远程 Windows 桌面计算机。

我必须检查远程机器上的磁盘空间和其他几个服务。

【问题讨论】:

    标签: java remote-access


    【解决方案1】:

    远程桌面连接

    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();
    
    • 通过使用cmdkey,我们可以创建或删除特定于当前用户的凭据。

    Command line

    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.
    

    【讨论】:

    • 嗨彼得,我们有什么解决方案,服务器身份验证策略不允许登录保存的凭据。
    【解决方案2】:

    您也可以考虑使用RDP Java 解决方案。

    那里有很多解决方案。在 Comparison of Java Remote Desktop projects 上查看它们。

    【讨论】:

    • 这接近于仅链接的答案。如何评估其中一些,然后对其中的一个(或多个)进行描述和推荐?
    【解决方案3】:

    答案取决于您的本地机器(主机)使用什么操作系统连接到远程目标 Windows 机器。

    如果是基于 Unix 的机器,我建议使用开源库 j-Interop

    注意,您可能需要手动修改目标框上的注册表,以便它可以正常工作(确保您仔细阅读项目网站的常见问题解答)。如果您发现奇怪的问题(连接时抛出的异常),这里有一篇很好的文章帮助我解决了这些问题:Windows slaves fail to start via DCOM

    另一方面,如果您使用 Windows 机器作为主机,那么您的生活会轻松很多。我建议使用:

    请注意,以上所有项目都是开源项目。

    上面提到的免费软件版本是j-Integra,但我从未尝试过使用它。

    【讨论】:

    • 嗨 CAS,我知道远程机器的 IP 地址、用户名和密码。是否可以在 java 中使用此详细信息连接遥控器?
    • @ChanGan 是的,但请记住,您必须先打开 WMI 端口并在要访问的 Windows 机器上运行。
    • 看起来它不是静态 IP .. 这行得通吗??
    • @ChanGan 如果 IP 更改过于频繁,您将长期面临问题。但是对于初步测试,我会试一试,看看你是否可以让它工作。也许您可以在网络上使用 Win VM 进行快速测试?我会推荐 Jawin 作为 Win->Win(文档和示例是一个很好的起点)
    【解决方案4】:

    您可以在远程桌面上安装 SSH 服务器,并且可以使用本地计算机上的 jcraft 和 jsch 库编写 Java 程序来与远程桌面建立 SSH 连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多