无法连接到Windows服务中的rdp

时间:2016-06-30 14:57:29

标签: c# service rdp

我尝试使用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();
    }

当我从本地计算机启动代码时,代码运行良好,但在部署到服务器后,代码运行不正常。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我的代码中存在错误。我已经在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();
    }

感谢您的时间。