我尝试使用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();
}
当我从本地计算机启动代码时,代码运行良好,但在部署到服务器后,代码运行不正常。有什么想法吗?
答案 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();
}
感谢您的时间。