没有用户名和密码的远程桌面连接

Remote Desktop connection without username and password

我想使用 mstsc.exe 连接到一台没有用户名和密码的远程机器。因为我想在没有用户名和密码的情况下连接它,所以它应该以锁定会话状态连接。

所以我想要这样的东西,

  1. 用户将输入 IP 地址并点击连接按钮。
  2. 机器应该以锁定状态连接。

我已经尝试了下面的代码,但是没有用。

        Process rdcProcess = new Process();
        rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\mstsc.exe");
        rdcProcess.StartInfo.Arguments = "/v " + "123.0.0.1 /public"; // ip or name of computer to connect
        rdcProcess.Start();

用户可以使用 C# 执行此操作吗?

谢谢

-桑凯特

这是不可能的 - Microsoft Windows 中的远程桌面服务器不允许未经身份验证的传入连接,原因很明显。没有设置密码的用户帐户无法登录远程桌面,也没有允许匿名身份验证的配置选项。

作为替代方案,我建议使用工作方式不同的 VNC 服务器(它共享启动 VNC 服务器的会话并镜像会话的帧缓冲区,而不是与其他会话分开的真正的远程桌面会话并使用 GDI 重定向)。您可以将 VNC 服务器配置为不需要密码即可连接,但强烈建议不要这样做,当然。

但是,我不知道有任何 VNC 服务器最多只允许 1 个连接并阻止二次连接,但由于几乎整个 VNC 生态系统都是开源的,您可能可以修改现有服务器以使其行为方式你想要它。一种可能性是设置一个没有密码的 VNC 服务器,然后一旦用户连接,它就会设置一个随机生成的新密码,从而防止其他客户端连接。当当前客户端断开连接时,它会清除密码。