如何更好地使用Microsoft远程桌面

我想分享一些有关通过RDP设置到工作站的远程连接的技巧。我将告诉您如何将古老的RPC-HTTP升级到UDP,赞扬并责骂Windows 10和AVC,我将找出一些典型问题的解决方案。

我们认为远程桌面网关(RDGW)用于连接,而工作站充当服务器。使用RDGW非常方便,因为网关成为所有客户端的通用入口点。这样就可以更好地控制访问,保留连接及其持续时间的记录。即使VPN允许您直接连接到工作计算机,这也不是最佳选择。

RDGW快速,易于配置,并且让我们进行加密和win-acme即可使用受信任的证书轻松解决此问题。

客户端可以通过三种传输协议连接到服务器:

RPC-HTTP错误
HTTP更好
HTTP + UDP优秀)对于

服务器,我们是指可以工作的计算机,即客户端-家庭。
首先要把“坏”变成“优秀”。

将RPC-HTTP升级到HTTP


通过连接条的外观很容易确定使用RPC-HTTP的会话连接。



没有连接质量图标(在下面有此图标),这意味着我们使用的是封装在TLS中的旧RPC-这非常慢。当然,重点不仅在于包装器中-协议本身随OS的每个发行版,编解码器,图像打包算法的变化而变化。协议越新鲜越好。

该怎么办?

Windows XP或Vista


在XP中,您可以将协议从5.1升级到7。Windowsxp-kb969084-x86.exe修复程序;

在Vista中,从6升级到7。Windows6.0-kb969084-x64.msu或Windows6.0-KB969084-x86文件具有相同的编号。.msu

但是RDP 7不能通过HTTP和UDP运行。仅将客户端和服务器升级到Windows 7及更高版本会有所帮助。

Windows 7

首先,您需要将协议升级到RDP 8.1,然后启用它。通过添加到单个下载程序包中的更新来添加支持:

www.microsoft.com/zh-cn/download/details.aspx?
id=40986 Windows6.1-KB2574819-v2-x64.msu
windows6.1-kb2592687-x64.msu
Windows6.1-KB2830477-x64.msu
Windows6.1-KB2857650-x64.msu
Windows6.1-KB2913751-x64.msu(由kb2923545取代)

windows6.1-kb2923545-x64.msu

因此,您同时获得了操作系统服务器端的最新mstsc.exe客户端和RDP 8.1支持。
原来是:





后来:



必须使用注册表项启用协议(为此,您可以使用Windows 7附带的adm模板)。

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fServerEnableRDP8"=dword:00000001
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows NT\Terminal Services]
"fServerEnableRDP8"=dword:00000001

在组策略中启用UDP传输支持。



我们使用Windows 7重新启动服务器。在这种情况下,您可能需要重新启动两次-必须在打开RDP之前设置注册表中的值,然后再应用组策略。

如果一切顺利,则当您在会话栏中连接到服务器时,将出现连接质量图标(例如在移动网络的电话中):



Windows 8及更高版本该

协议即开即用。

将HTTP升级到HTTP + UDP


如果您的网络不容易丢失数据包,则UDP(使用CAD可以大大降低)可以通过使用FEC减少重传,以及将数据包传递确认从TCP / IP系统堆栈切换到RDP-UDP协议级别来显着提高服务器的响应速度

每个客户端都通过HTTP连接了一个主控制会话(此通道中还传输了键盘/鼠标),以及一个或多个UDP会话来传输图片或其他虚拟通道。

我们只会碰到冰山一角。 RDP-UDP协议有3个不同的版本。另外,UDP本身可以以两种模式运行:UDP-R(可靠)和UDP-L(有损)。微软什么也没有发生。但是,由于这里没有任何内容取决于我们,因此请紧记-操作系统越新,本主题使用的协议越现代。

在外部,RDP-UDP包装在数据报传输层安全性(DTLS)RFC4347中,如打开Wireshark所见。

文档中的更多详细信息:
[MS-RDPEMT]:远程桌面协议:
多传输扩展[MS-RDPEUDP]:远程桌面协议:UDP传输扩展
[MS-RDPEUDP2]:远程桌面协议:UDP传输扩展版本2
在错误的地方,正确别客气。

您需要启用什么UDP?

从RDP 8开始支持RDP-UDP。

必须在客户端上打开udp / 3389端口。如果使用本地防火墙,交换机上的ACL或外部防火墙将其关闭,则必须打开该端口。

对于将远程桌面网关服务器连接到tcp / 443端口,请打开udp / 3391。

可以更改端口,其配置方式如下:



对于Windows 7,必须启用NLA(网络级身份验证)。



可以在组策略中



或通过注册表启用

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"SecurityLayer"=dword:00000001

什么是连接不清楚。但是,如果没有7-ke上的NLA不能正常工作,则在较新版本的NLA上不需要工作UDP。

通过HTTP建立会话后,客户端和服务器尝试协商UDP连接。如果存在数据包丢失或延迟,则UDP会话将不会启动。确切的UDP协商失败算法尚未完全了解。

如果一切都已配置,则在连接后,单击链接质量按钮。该窗口将指示已协商UDP。



在网关上,如下所示:



Windows 10

如果服务器和客户端上都装有Windows 10,则这是最快,最无问题的选择。 Microsoft正在积极敲定RDP,在最新版本10中,您可以指望获得良好的速度。同事无法在AutoCAD速度中检测到Citrix和Windows 10 RDP之间的差异。

关于Windows 10
远程桌面协议(RDP)中基于AVC的RDP编解码器的演变,有一篇很好的文章Windows 10和Windows Server 2016 Technical Preview中对AVC / H.264的改进

可以在事件日志中看到与硬件编码匹配的AVC(更多信息请参见上面的文章) ):





我只注意到即使使用h.264 4:4:4仍然存在失真问题。如果您在PowerShell ISE中工作,它会立即引起您的注意-错误文本的显示形式令人不愉快。此外,在屏幕截图和照片中一切都很好。魔法。

AVC工作的间接标志是不时在角落出现绿色方块。

全新版本中的AVC和硬件编码应该可以立即使用,但是组策略绝不是多余的:



鉴于AVC是使用视频卡进行硬件编码的,因此更新视频驱动程序是一个好主意。

关于问题


XP和Vista

如果在Windows XP或Vista上出现问题,请首先尝试将协议更新为版本7(在本文开头写道)。确保启用CredSSP支持。 Microsoft已经删除了该站点上的文章,但Internet仍然记得

如果没有帮助,“医生先向太平间讲话,然后再向太平间讲话。”操作系统在过去15年中经历的最好不要去考虑它。

NLA

有时有助于禁用服务器上的NLA。原因没有解决,家用车都不同。

NTLM

某些客户端尝试使用NTLMv1登录。原因不同,但是您可以像这样在客户端上修复它:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"LmCompatibilityLevel"=dword:00000003

需要重启。

如果您年轻而大胆地无所畏惧,那么还有一个更根本的解决方案- 在远程桌面网关上禁用通道绑定

HKLM\Software\Microsoft\Windows NT\CurrentVersion\TerminalServerGateway\Config\Core
Type: REG_DWORD
Name: EnforceChannelBinding
Value: 0 (Decimal)

您不必这样做。但是我们做到了。:-)对于坚持(没错,坚持)他需要的工作站上的NTLMv1的客户。我不知道,也许NT4上没有SP的服务器仍在运行。

在Windows 10中禁用RDP 8+

如果所有其他方法都失败了,并且构想耗尽,则可以使用未记录的密钥将RDP协议降级到版本7。

[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client]
"RDGClientTransport"=dword:00000001

我自己没有做,也没有建议您。但是对于某人,他们写道这会有所帮助。

DrWeb

Dr.Web SpIDerGate组件可能禁止连接。在这种情况下,将返回错误:

Dr.Web统计信息中将有一条记录Dr.Web

员工在本文的评论中与我联系,并且我们的问题在防病毒数据库的下一次更新中得以解决。
如果您有相同的错误,最好与支持人员联系。
作为临时解决方案,您可以将RDGW的URL添加到以下例外中:

并且仅在它不能完全禁用SpIDer Gate组件的情况下

系统代理我

遇到了一家公司退役的计算机,该公司已将本地TMG注册为系统代理,但与RDGW的连接不起作用。可以这样修复:

netsh winhttp show proxy && netsh winhttp reset proxy

切换键盘布局

有时会出现额外的布局。您可以从客户端禁用布局转发
[HKLM\System\CurrentControlSet\Control\Keyboard Layout]
"IgnoreRemoteKeyboardLayout"=dword:00000001

DPI问题

缩放来自客户端计算机,如果家用笔记本电脑的价格为125%,则在工作计算机上也是如此。在服务器上,可以将其关闭,但是在工作站上,我找不到方法。但是Windows 10应用商店有一个“现代”客户端

您可以在其中配置DPI:



如何使用RDGW监视网关


有一个性能计数器“ TS Gateway \ Current Connections”,如果没有连接或服务器很长时间没有重新启动,这将有点问题。它准确显示了连接数,但正如我们所记得的,对于HTTP + UDP,至少有两个,甚至可能更多。因此,这不是员工联系数量的完全客观指标。

有一个WMI类Win32_TSGatewayConnection。其内容与您在“远程桌面网关”的“监视”部分中看到的内容相对应。

使用它,可以更精确地计算连接数:

Get-WmiObject -class "Win32_TSGatewayConnection" -namespace "root\cimv2\TerminalServices" 
|?{$_.transportprotocol -ne 2}|select username,connectedresource|sort username|Get-Unique -AsString| measure|select -ExpandProperty count

只是为了好玩,有一个Remote Display Analyzer实用程序免费版本没有向我显示任何有用的信息,但是突然之间,它将对您有用。

但是,如何进行微调,调整几十个会话参数呢?

帕累托原理在这里是适当的:20%的努力可以产生80%的结果。如果您准备将时间投入到结果的其余20%中-很好。请记住,当您阅读有关在Windows 7中设置协议的文章时,您不知道作者写的协议是-7、8或8.1。当您在未指定发行版的情况下阅读Windows 10时,问题是相同的。例如,他们写道,在Windows 10的全新版本中,AVC / h.264编解码器已更改为RDPGFX_CODECID_AVC444 V2,而在Windows Server 2016中,仍保留RDPGFX_CODECID_AVC444。

在所有这些技巧中,我们仅使用两个设置:

  1. 16位颜色,您可以在文章MS RDP性能/带宽使用中阅读有关它的信息
  2. 禁用字体平滑字体平滑:上一篇文章中的i:0性能调整远程桌面会话主机

我怀疑它们是否会带来任何实际结果。

因此,我们到了本文的结尾。我想变短一些,但结果还是一如既往。如果这些提示可以帮助某人节省时间或改善其基础结构的配置,我将感到很高兴。

All Articles