如何在windows10中允许多个RDP会话?

时间:2020-01-09 10:46:29  来源:igfitidea点击:

远程用户可以通过在Pro和Enterprise版本上运行的远程桌面服务(RDP)连接到他们的Windows 10计算机(但不支持Home/Single Language)。但同时RDP会话的数量有限制-一次只能有一个远程用户工作。如果尝试打开第二个RDP会话,则会出现一个警告,要求我们断开第一个用户会话的连接。

另一个用户已登录。如果你继续,他们会断开连接。是否仍要登录?
Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

让我们考虑一下在Windows 10(以及所有以前的桌面Windows版本)上使用远程桌面服务的主要限制:

RDP访问功能仅在更高版本的Windows(专业版和企业版)中受支持。在Windows10家庭版中,传入的远程桌面连接是完全禁止的(我们只能使用RDP包装库来解决这个问题)。

只支持一个同时的RDP连接。尝试打开第二个RDP会话时,系统会提示用户关闭现有连接。

如果有用户在计算机的控制台(本地)上工作,那么当我们尝试创建新的远程RDP连接时,控制台会话将被终止。如果用户试图在本地登录,远程RDP会话也将被强制终止。

实际上,同步RDP连接的数量受到许可证的限制(然后是任何技术方面的限制)。因此,此限制不允许基于工作站创建可供多个用户使用的终端RDP服务器。微软的逻辑很简单:如果我们需要远程桌面服务器,请购买Windows服务器许可证、RDS CAL、安装并配置远程桌面会话主机(RDSH)角色。

从技术角度看,任何一个Windows版本只要有足够的RAM,就可以支持几十个远程用户同时操作。平均来说,一个用户会话需要150-200 MB内存,而不考虑已发布的应用程序。在理论上,同时RDP会话的最大数量仅受计算机资源的限制。

让我们考虑两种在Windows10上允许同时RDP连接的方法:使用 RDP包装器应用程序和编辑 termsrv.dll文件。

重要。最初,在本文的第一个版本中,允许我们取消对同时RDP用户连接数的限制的主要工作选项是修改和替换 termsrv.dll文件位于%SystemRoot%\System32文件夹中。但是,当我们安装新的Windows 10内部版本或者某些安全更新时,可以更新此文件。

因此,每次都必须使用Hex编辑器来编辑这个文件,这是相当乏味的。因此,我们可以使用 RDP包装器库工具作为在Windows10上部署免费RDS服务器的主要方式。

说明本文中描述的系统修改被视为违反了Microsoft许可协议,由此产生的所有后果由我们自行承担。

RDP包装器:在Windows10上启用多个RDP会话

RDP包装器库项目允许我们在Windows10上支持多个RDP会话,而无需替换termsrv.dll文件。此软件充当SCM(服务控制管理器)和远程桌面服务之间的层。RDPWrap不仅允许我们启用对多个同时RDP连接的支持,还允许在Windows10 Home Edition上启用RDP主机支持。RDP包装器不会对术语库.dll文件,它只是用更改的参数加载termsrv库。

因此,RDPWrap即使在术语库.dll文件更新。它让你不用害怕Windows更新。

重要。在安装RDP包装器之前,务必确保使用的是术语库.dll文件。否则,RDP包装器可能无法稳定工作,或者根本无法启动。

我们可以从GitHub存储库下载RDP包装器:https://github.com/binarymaster/rdpwrap/releases(RDP包装器库的最新可用版本–v1.6.2)。根据开发人员页面上的信息,支持所有版本的Windows。Windows 10在1809版本之前都是受支持的(不过,在Windows1101909中也可以正常工作,请参阅下面的解决方案)。

RDPWrap-v1.6.2.zip档案包含以下文件:

RDPWinst.exe文件-RDP包装器库安装/卸载程序;

RDPConf.exe-一个RDP包装器配置实用程序;

RDPCheck.exe文件-本地RDP检查器-RDP检查实用程序;

install.bat, uninstall.bat, update.bat-用于安装、卸载和更新RDP包装器的批处理文件。

要安装RDPWrap,请使用管理员权限运行 install.bat。在安装过程中,该实用程序访问GitHub站点以获取最新版本的ini文件。要撤消此操作,在 install.bat中删除-o选项。该程序将安装在C:\program Files\RDP Wrapper目录下。

安装结束后,运行 RDPConfig.exe. 确保 诊断部分的所有元素都是绿色的。

运行RDPCheck.exe文件并尝试打开第二个RDP会话(或者从远程计算机连接多个RDP会话)。结果很好!现在,windows10允许两个(或者更多)用户同时使用不同的RDP会话。

RDPWrap实用程序支持所有Windows版本:Windows 7、Windows 8.1和Windows 10. 因此,我们可以在Windows的任何桌面实例上构建自己的终端(RDS)服务器。

RDP包装器还有一些有趣的特性:

在登录屏幕上隐藏用户选项允许我们在Windows登录屏幕中隐藏用户列表;

如果我们禁用了 每个用户一个会话选项,同一个用户帐户下将允许多个并发RDP会话(注册表参数 fSingleSessionPerUser=0设置在HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser下);

RDP端口-我们可以将远程桌面端口号从3389更改为任何其他端口号;

Session Shadowing Mode部分中,我们可以将远程控制(shadow)连接权限更改为windows10rdp会话。

RDP包装器在Windows 10上不工作

让我们考虑一下,如果即使安装了RDP包装器工具,也不能在Windows10中使用多个RDP连接,该怎么办。

在我的例子中,由于计算机上没有直接的Internet访问,RDPWrap无法获得新版本的rdpwrap.ini文件GitHub中包含最新Windows版本设置的文件。因此,RDConfig实用程序显示了状态[不支持]。

下载 rdpwrap.ini文件从开发人员页面上的文件,并将其放入安装文件夹(C:\Program Files\RDP Wrapper)\rdpwrap.ini文件). 重新启动TermService并确保状态[完全支持]。

如果RDP包装实用程序在更新rdpwrap.ini文件文件,则该问题可能是因为我们正在使用的新版本的Windows 10. 尝试下载新的rdpwrap.ini文件从这里开始为Windows 10版本生成https://github.com/fre4kyC0de/rdpwrap。

你可以得到rdpwrap.ini文件对于Windows 10 1909 10.0.18363.476,请使用以下链接rdpwrap_10.0.18363.476_1909.zip。

另外,如果我们对RDPWrap有问题,可以在https://github.com/stascorp/rdpwrap/issues。在这里你可以找到rdpwrap.ini文件文件,然后在官方存储库中更新。

替换rdpwrap.ini文件。