首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问远程桌面

访问远程桌面
EN

Stack Overflow用户
提问于 2017-06-30 11:36:56
回答 2查看 4.6K关注 0票数 5

我试图在C#中以编程方式打开远程桌面会话。我找到了教程,并遵循了它。我有一个表单,它只是由一个名为AxMSTSCLib.AxMsRdpClient8NotSafeForScriptingrdp组成,然后我有以下代码:

代码语言:javascript
复制
    public RDPViewer()
    {
        InitializeComponent();
        rdp.Server = "localhost";
        rdp.UserName = "<userName>";

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

(用户名和密码目前都是硬编码的,这只是第一次测试它是如何工作的)

但是,当我试图运行它时,会弹出一个错误:

由于未启用身份验证,并且远程计算机要求启用身份验证才能连接,因此无法继续连接。

搜索此错误时,会发现几个站点指出,解决此错误的方法是转到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp并将"SecurityLayer“值设置为0,然后重新启动,但我已经这样做了,但仍然得到了错误。

我已经设置好了,所以RDP可以定位到本地主机,并且我可以使用与代码传递的凭证相同的远程桌面连接进行连接。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-30 15:54:17

我最终发现了这个问题。原来它是在组策略中设置的,而不是在注册表中设置的。我找到了这里的答案--相关的组策略设置是“需要为远程连接使用特定的安全层”,并在Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security中找到。

通过将策略中的安全层选项从SSL (TLS 1.0)更改为RDP,我能够连接。

票数 2
EN

Stack Overflow用户

发布于 2017-11-03 05:09:21

这对我有效,不需要更改远程计算机的设置:

代码语言:javascript
复制
rdpClient.AdvancedSettings9.EnableCredSspSupport = true;

请参见:为身份验证启用凭据安全支持提供程序:https://technet.microsoft.com/en-us/library/ff393716(v=ws.10).aspx

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44845555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档