我想使用没有用户名和密码的mstsc.exe连接到远程计算机。因为我想在没有用户名和密码的情况下连接它,所以它应该与锁定会话状态连接。
所以我想要这样的东西,
我已经尝试过以下代码,但它没有用。
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#进行此操作?
由于
-Sanket
答案 0 :(得分:0)
这是不可能的 - 出于显而易见的原因,Microsoft Windows中的远程桌面服务器不允许未经身份验证的传入连接。没有设置密码的用户帐户无法登录到远程桌面,也没有允许匿名身份验证的配置选项。
作为替代方案,我建议使用VNC服务器,它的工作方式不同(它共享VNC服务器启动的会话并镜像会话的帧缓冲,而不是真正的远程桌面会话,它与其他会话并使用GDI重定向)。您可以将VNC服务器配置为不需要密码来连接,但当然强烈建议不要这样做。
但是,我不知道任何VNC服务器只允许最多1个连接并阻止辅助连接,但由于几乎整个VNC生态系统都是开源的,您可以修改现有服务器以表现方式你想要它。一种可能性是在没有密码的情况下设置VNC服务器,然后一旦用户连接它就设置新的随机生成的密码,从而阻止其他客户端连接。它会在当前客户端断开连接时清除密码。