无法连接到windows服务中的rdp

本文关键字:rdp 服务 windows 连接 | 更新日期: 2023-09-27 17:53:22

我正在尝试使用rdp登录服务器。我有一个windows进程,自动登录到服务器使用rdp。这行不通。当我监视服务器时,我没有看到用户登录。这是我的代码:

public static void ConnectToRDP(string server, string user, string password)
    {
        Process rdcProcess = new Process();
        rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%'system32'cmdkey.exe");
        rdcProcess.StartInfo.Arguments = string.Format("/generic:TERMSRV/{0} /user:", server) + string.Format(@"TEST'{0} /pass:{1}", user, password);
        rdcProcess.Start();
        rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%'system32'mstsc.exe");
        rdcProcess.StartInfo.Arguments = string.Format("/v {0}", server); 
        rdcProcess.Start();
    }

当我从本地机器启动代码时,它运行良好,但在部署到服务器后,它不能运行。什么好主意吗?

无法连接到windows服务中的rdp

我的代码中有一个bug。我已经将域设置为TEST硬编码,而不是将其更改为生产域。代码运行良好,并连接到远程桌面。我在代码中做了一个更改:

public static void ConnectToRDP(string domain, string server, string user, string password)
    {
        Process rdcProcess = new Process();
        rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%'system32'cmdkey.exe");
        rdcProcess.StartInfo.Arguments = string.Format("/generic:TERMSRV/{0} /user:", server) + string.Format(@"{0}'{1} /pass:{2}", domain, user, password);
        rdcProcess.Start();
        rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%'system32'mstsc.exe");
        rdcProcess.StartInfo.Arguments = string.Format("/v {0}", server); 
        rdcProcess.Start();
    }

感谢您的宝贵时间。