windows远程桌面是大家用的比较多的一个服务,经常会遇到一些这样那样的错误,下面我们就2个典型案例分析一下。
一、远程桌面,身份验证错误:要求的函数不受支持
报错现象如下图所示:
windows远程桌面函数无效和RDS报错的典型案例分析_第1张图片
因windows10的更新,最近很多朋友会遇到mstsc远程连接桌面的报错。函数提供的标志无效,和网络没有关系,从ping和telnet的结果反馈也确实和网络没有问题。所以问题出在本地计算机。
这是因为由于CredSSP 的未修补版本中存在远程代码执行漏洞,成功利用此漏洞的×××者可以在目标系统上中继用户凭据以执行代码, 任何依赖 CredSSP 进行身份验证的应用程序都可能容易受到此类×××。
解决办法:
微软给出的解决方案:

https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018
具体解决方法:

  运行 gpedit.msc,找到计算机配置>管理模板>系统>凭据分配>加密Oracle修正
windows远程桌面函数无效和RDS报错的典型案例分析_第2张图片

  选择启用并选择易受×××。
windows远程桌面函数无效和RDS报错的典型案例分析_第3张图片

    补充:本地组策略配置好后,还需要刷新策略: 选择开始,通过搜索打开运行窗口。输入cmd,单击确定,在命令行对话框中运行gpupdate。

 windows远程桌面函数无效和RDS报错的典型案例分析_第4张图片
设置好之后我们再连接试试。
如果是Win10 家庭版,则需要卸载这个更新,在控制面板中找到”卸载程序“,选择”查看已安装的更新“,卸载最新安装的补丁即可(用与Microsoft Windows 的安全更新KB410****)

第二次更新于 2018 年 5 月 8 日发布,会将默认行为从“易受×××”更改为“缓解”选项。相关的 Microsoft 知识库编号已在 CVE-2018-0886 中列出。

注意: 对加密 Oracle 修正的任何更改都需要重启。
windows远程桌面函数无效和RDS报错的典型案例分析_第5张图片

 二、RDS组件造成无法远程
 报错现象如图:

windows远程桌面函数无效和RDS报错的典型案例分析_第6张图片
RDS是Remote Desktop Service的简称,远程桌面服务加快并扩展了到任何设备的桌面和应用程序部署。 远程桌面服务启用虚拟机基础结构 (VDI)、基于会话的桌面以及应用程序,允许用户想在哪儿工作就在哪儿工作.
因为是安装完该组件后远程桌面无法访问的,因此先卸载该组件以确认是由它造成的。
卸载后,发现远程桌面可以正常访问。
具体分析:
这主要是因为安装了RDS后,RDS会生成6个角色服务:
1、远程桌面Web访问:RD Web Access
远程桌面 Web 访问(RD Web 访问)允许用户通过运行 Windows的计算机上的“开始”菜单或通过网页浏览器访问 RemoteApp 和桌面连接。 RemoteApp 和“桌面连接”提供了会话集合中 RemoteApp 程序和基于会话的计算机的自定义视图,以及虚拟机集合中 RemoteApp 程序和虚拟机的自定义视图。
2、远程桌面网关:RD Gateway
远程桌面网关(RD 网关)让获得授权的用户可以从任何连接到 Internet 的设备连接到企业内部网络中的虚拟机、RemoteApp 程序和基于会话的计算机。
3、远程桌面授权:RD Licensing
远程桌面授权(RD 授权)管理连接到远程桌面会话主机服务器或虚拟机所需的许可证。 你可以使用 RD 授权来安装、颁发和跟踪许可证的可用性。
4、远程桌面连接代理:RD Connection Broker
远程桌面连接代理(RD 连接代理): 允许用户重新连接到其现有的虚拟机、RemoteApp 程序和基于会话的计算机。 让你可以在会话集合中的 RD 会话主机服务器之间或在共用虚拟机集合的共用虚拟机之间平均分配负载。 提供了对虚拟机集合中虚拟机的访问权限。
5、远程桌面虚拟化主机:RD Virtualization Host
远程桌面虚拟化主机(RD 虚拟化主机)与 Hyper-V 集成,可以在组织内部署虚拟机集合池或个人虚拟机集合。
6、远程桌面会话主机:RD Session Host
远程桌面会话主机(RD 会话主机)让服务器可以托管 RemoteApp 程序或基于会话的计算机。 用户可以连接到会话集合中的 RD 会话主机服务器,从而在这些服务器上运行程序、保存文件和使用资源。

注意这个远程桌面会话主机角色,此功能是免费使用 120 天,之后需要付费。如果没有付费会造成远程连接失败。

正常情况下,Windows 服务器默认提供两个用户的免费远程桌面管理授权。如果有更高的连接需求,则需要配置远程桌面会话主机服务器角色,同时购买和配置相应的授权后,才可以使用更多的远程桌面管理并发。而在安装配置远程桌面会话主机角色后,会同时取消原有默认的 2 个免费连接授权。所以,在没有正确配置相关授权的时候,会导致远程桌面无法连接,并出现上述错误提示。

    解决办法:
    安装远程桌面会话主机角色后,导致的无法远程的解决办法有二种:

1、在配置远程桌面会话主机服务器后,在微软官网购买和配置相应的证书授权,相关操作方法可以参阅微软官方文档。
2、删除远程桌面会话主机角色,使用默认的 2 个免费连接授权。
示例:
Windows 2012 系统操作方法:

1、 使用控制台远程连接功能登录到 Windows 实例。

2、选择开始,通过搜索打开运行窗口。输入servermanager.msc,单击确定。

3、在服务器管理器页面右上角,选择管理>删除角色。 

windows远程桌面函数无效和RDS报错的典型案例分析_第7张图片

    4、在删除功能和角色窗口,单击下一步,然后再单击下一步。

 5、在向导第三步,取消勾选远程桌面服务,其它默认配置。

windows远程桌面函数无效和RDS报错的典型案例分析_第8张图片

     6、在实例内部重启实例。

     其他版本的可参考网上相应文章示例。

     补充:另一种方法

 Windows_Server_2012_2016 远程桌面120天授权过期后,可以这样来解决
1、 可尝试删除如下注册表,然后卸载重装、激活远程桌面服务:

HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Grace Period

如果在删除注册表的时候遇到无法删除的报错,可鼠标左键点击Grace Period,然后右键“权限”,添加Adminsitrator权限完全控制,确定之后再删除试试。 
    2、还有一种删除注册表会报拒绝访问的

可鼠标左键点击GracePeriod,然后右键并选择“权限”选项,并在“权限”对话框单击“高级”按钮-单击“所有者”选项卡,将所有者改为当前用户并复选“替换子容器和对象的所有者”后单击“确定”按钮。
然后鼠标左键点击GracePeriod,右键“权限”,添加everyone权限完全控制,确定之后再删除试试。