C# 使用指定的用户名和端口号密码运行mstsc.exe

C# 使用指定的用户名和端口号密码运行mstsc.exe,c#,mstsc,C#,Mstsc,我在收到这篇文章,但如果我们提供端口号,它就不起作用了 这是我更改端口号的代码 Process rdcProcess = new Process(); rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe"); rdcProcess.StartInfo.Arguments = "/generic:TERMSRV/192.168.0.217:

我在收到这篇文章,但如果我们提供端口号,它就不起作用了

这是我更改端口号的代码

Process rdcProcess = new Process();
rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe");
rdcProcess.StartInfo.Arguments = "/generic:TERMSRV/192.168.0.217:123 /user:" + "username" +  " /pass:" + "password";
rdcProcess.Start();

rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\mstsc.exe");
rdcProcess.StartInfo.Arguments = "/v " + "192.168.0.217:123"; // ip or name of computer to connect
rdcProcess.Start();
我这里有123端口号和服务器名。如果提供的服务器没有端口号,则一切正常


请建议解决方法。

我用Win 8.1在我的机器上尝试了你的代码,以连接到我的办公室。 它工作正常,问题不在于代码,而在于环境

rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\mstsc.exe");
rdcProcess.StartInfo.Arguments = "/v " + "xxxx.cz:33893"; // ip or name of computer to connect
rdcProcess.Start();

您确定服务器正在监听端口123吗?默认的RDP端口是3389。首先尝试从命令控制台连接。123是我在这里给出的示例。为了安全起见,我已将端口号从默认值更改为。感谢Joroslav提供的详细信息,但当您没有保存到服务器的任何连接时,您将面临的问题。在您尝试过的同一台计算机上,请尝试创建一个新的windows用户,如果您尝试运行该代码,它将要求输入密码,即使在第一块代码中已经提供了密码。在这里,若服务器并没有提供端口号,所有的工作都很完美,你们将不会被提示输入密码。