Windows服务器远程桌面多会话补丁
Windows服务器默认只允许一个远程桌面会话,第二个人登录时会把前一个人挤下线。
如果你需要多人同时登录同一台服务器做维护或测试,就需要给系统打上远程桌面多会话补丁。
下面用RDPWrap这个开源工具,从零开始完成安装和配置,整个过程大约10分钟。
先确认你的系统版本和补丁状态
RDPWrap的原理是替换系统自带的termsrv.dll文件,并加载一个配置文件来解除单会话限制。
它能不能用,取决于当前系统的termsrv.dll版本号是否在工具的配置文件里有对应记录。
先查两个信息:
- 在服务器上按
Win + R,输入winver,记下Windows版本和内部版本号。 - 打开文件资源管理器,定位到
C:\Windows\System32\termsrv.dll,右键查看属性,切换到“详细信息”选项卡,记下“文件版本”这个字段。
如果termsrv.dll的版本号在RDPWrap的rdpwrap.ini里找不到对应项,
后面配置完会出现“Not supported”或“Listener state:
Not listening”的提示,
这是最常见的坑,
原因就是版本不匹配。
安装RDPWrap:下载、解压、以管理员身份安装
RDPWrap是免费开源工具,官方发布在GitHub的stascorp/rdpwrap仓库。
直接下载最新Release里的zip包,解压到一个固定目录,比如C:\RDPWrap。
解压后你会看到几个关键文件:
install.bat:安装脚本,负责把RDPWrap服务注册到系统。RDPConf.exe:配置和状态查看工具。RDPCheck.exe:本地测试工具,用来验证多会话是否生效。rdpwrap.ini:核心配置文件,记录各版本termsrv.dll的偏移量。
安装步骤:
- 右键点击
install.bat,选择“以管理员身份运行”。 - 脚本会自动复制文件到
C:\Program Files\RDP Wrapper并注册服务。 - 安装完成后,在服务管理器(
services.msc)里能看到一个叫RDP Wrapper Library的服务,状态应为“正在运行”。
如果服务没有自动启动,手动右键启动一次。
配置多会话:检查状态、更新ini、重启服务
安装完成后,右键RDPConf.exe以管理员身份运行。
界面里重点看两行:
Listener state:正常应显示Fully Supported或Listening。Service state:正常应显示Running。
如果Listener state显示Not listening,说明rdpwrap.ini里没有你当前termsrv.dll版本的记录。
这时需要手动更新配置文件:
- 去RDPWrap的GitHub仓库或相关社区找最新的
rdpwrap.ini文件。 - 替换
C:\Program Files\RDP Wrapper\rdpwrap.ini。 - 在管理员命令提示符里执行:
net stop rdpwrapper
net start rdpwrapper
或者直接重启服务器。
重启后用RDPConf.exe再检查一次状态。
如果状态变成Fully Supported,说明补丁已经生效。
验证多会话是否真正生效
不要只看配置工具的状态,要用实际登录来验证。
方法一:用RDPCheck.exe做本地测试
右键以管理员身份运行RDPCheck.exe,它会尝试用当前账户再建立一个远程桌面会话。
如果能弹出新的会话窗口,说明多会话已经开启。
方法二:从另一台电脑用不同账户登录
用两个不同的Windows账户,分别从两台电脑远程登录同一台服务器。
如果两个会话都能保持连接、互不踢下线,说明配置成功。
注意:如果服务器是域环境,需要确认组策略里“限制连接的数量”没有被设为1。
路径在gpedit.msc的“计算机配置 > 管理模板 > Windows组件 > 远程桌面服务 > 远程桌面会话主机 > 连接”下面。
常见报错和避坑说明
- Listener state显示Not listening:最常见原因是
rdpwrap.ini版本不匹配。先确认termsrv.dll文件版本,再去仓库找对应条目。如果找不到,说明该版本暂时未被支持,只能等社区更新,或者考虑用其他方案。 - 安装后远程桌面连不上:先检查
RDP Wrapper Library服务是否在运行,再检查Windows防火墙是否放行了3389端口。可以用netstat -ano | findstr 3389确认端口是否在监听。 - 系统更新后补丁失效:Windows更新可能会替换
termsrv.dll,导致RDPWrap失效。每次系统更新后,重新检查RDPConf.exe状态,必要时更新rdpwrap.ini。 - 不要在生产环境随意操作:替换
termsrv.dll属于非官方修改,可能影响系统稳定性,也可能与某些安全软件冲突。建议先在测试环境验证,再考虑是否用于生产服务器。 - 授权合规问题:Windows Server的远程桌面多用户访问涉及客户端访问许可(CAL)。RDPWrap只是解除技术限制,不解决授权问题。正式商用环境建议按微软官方许可方式配置远程桌面服务。
几个容易被问到的问题
RDPWrap支持Windows Server 2022吗?
取决于rdpwrap.ini是否包含对应版本termsrv.dll的记录。
可以先去GitHub仓库的issue区搜一下你的系统版本号,确认有人成功再操作。
打完补丁后原来的远程桌面连接会中断吗?
重启RDPWrapper服务或重启服务器时,当前远程会话会断开。
建议在可以物理接触服务器或已有其他管理通道的情况下操作。
有没有不修改系统文件的替代方案?
有。
微软官方的远程桌面服务(RDS)支持多会话,但需要安装角色并配置授权。
如果是临时测试,也可以考虑用虚拟机或容器方案隔离环境。
选择哪种方式,取决于你的使用场景和授权条件。
怎么回滚到原始状态?
在RDPWrap目录里运行uninstall.bat,然后重启服务器。
系统会恢复使用原来的termsrv.dll,多会话功能随之关闭。
整体来说,RDPWrap是解决Windows服务器远程桌面多会话限制的一个轻量方案,核心难点在于termsrv.dll版本匹配和系统更新后的重新配置。
按上面的步骤先查版本、再装服务、最后用实际登录验证,基本能覆盖大多数场景。
如果遇到Not listening,优先去更新rdpwrap.ini,而不是反复重装。