windows远程桌面是大家用的比较多的一个服务,经常会遇到一些这样那样的错误,下面我们就2个典型案例分析一下。
一、远程桌面,身份验证错误:要求的函数不受支持
报错现象如下图所示:

因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修正

  选择启用并选择易受×××。

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

 
设置好之后我们再连接试试。
如果是Win10 家庭版,则需要卸载这个更新,在控制面板中找到”卸载程序“,选择”查看已安装的更新“,卸载最新安装的补丁即可(用与Microsoft Windows 的安全更新KB410****)

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

注意: 对加密 Oracle 修正的任何更改都需要重启。

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


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、在服务器管理器页面右上角,选择管理>删除角色。
4、在删除功能和角色窗口,单击下一步,然后再单击下一步。

 5、在向导第三步,取消勾选远程桌面服务,其它默认配置。
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权限完全控制,确定之后再删除试试。

windows远程桌面函数无效和RDS报错的典型案例分析的更多相关文章

  1. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  2. 利用Node实现HTML5离线存储的方法

    这篇文章主要介绍了利用Node实现HTML5离线存储的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. 详解如何通过H5(浏览器/WebView/其他)唤起本地app

    这篇文章主要介绍了详解如何通过H5(浏览器/WebView/其他)唤起本地app的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  4. H5混合开发app如何升级的方法

    本篇文章主要介绍了H5混合开发app如何升级的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. AmazeUI 折叠面板的实现代码

    这篇文章主要介绍了AmazeUI 折叠面板的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码

    这篇文章主要介绍了HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

  7. Html5 video标签视频的最佳实践

    这篇文章主要介绍了Html5 video标签视频的最佳实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  8. html5唤起app的方法

    这篇文章主要介绍了html5唤起app的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  9. HTML5拍照和摄像机功能实战详解

    这篇文章主要介绍了HTML5拍照和摄像机功能实战详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部