Accessing Remote Desktop

痴心易碎 提交于 2019-12-23 22:28:14

问题


I'm trying to open up a remote desktop session programmatically in C#. I found this tutorial, and followed it. I have a form that just consists of a AxMSTSCLib.AxMsRdpClient8NotSafeForScripting called rdp, and then I have the following code:

    public RDPViewer()
    {
        InitializeComponent();
        rdp.Server = "localhost";
        rdp.UserName = "<userName>";

        IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx();
        secured.ClearTextPassword = "<password>";
        rdp.Connect();
    }

(Username and password are hardcoded for now, this was just a first test to see how it worked)

When I try to run it, though, I get an error popup:

The connection cannot proceed because authentication is not enabled and the remote computer requires that authentication be enabled to connect.

Googling this error finds several sites stating that the solution to this error is to go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp and set the "SecurityLayer" value to 0, then reboot, but I've done this and still get the error.

I have already set things up so it's possible to RDP to localhost, and I can connect using Remote Desktop Connection using the same credentials as I'm passing in the code.


回答1:


I found the problem in the end. Turns out it was set in Group Policy, rather than in the registry. I found the answer here - The relevant Group Policy setting is "Require use of specific security layer for remote (RDP) connections", and is found at Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security.

By changing the Security Layer option in that policy from SSL (TLS 1.0) to RDP, I was able to connect.




回答2:


This worked for me, without changing the settings of the remote computer:

rdpClient.AdvancedSettings9.EnableCredSspSupport = true;

See: enabling Credential Security Support Provider for authentication: https://technet.microsoft.com/en-us/library/ff393716(v=ws.10).aspx



来源:https://stackoverflow.com/questions/44845555/accessing-remote-desktop

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!