Windows多用户远程桌面----采用RDP Wrapper Library支持所有版本

Windows10 1909版本看这里!!!

说到要在非Windows Server版本上实现多用户远程桌面连接 ,我们都知道一个大名鼎鼎的软件RDP Wrapper Library,然而,我们又对这个软件了解多少呢?

有时候我们认为的问题,其实根本不是问题!

为什么我要这么说?让我们一起看看这个大名鼎鼎的软件,RDP Wrapper Library它是开源的,所有秘密作者都没有保留,所有问题全部在GitHub上面写的清清楚楚,在这里感谢这些伟大的人!

打开项目的GitHub(https://github.com/stascorp/rdpwrap/releases/tag/v1.6.2),首页写着最新的版本是v1.6.2,最近一次更新时间为2017年12月,现在已经2020年,难道这个项目中途夭折了?实际上没有,而是这个项目目前已经接近完美,最后一个版本,作者将软件进行了拆分,将核心模块和配置文件拆分独立出来了,通过修改配置文件,就可以让软件支持最新版本的Windows,并且配置文件的修改方法也录制了详细的视频放在了这个GItHub上面,只要有一个人更新了配置文件 ,并把它上传或者分享到GitHub上面,那么所有使用这个版本Windows的人都可以直接使用这个配置文件,多么方便啊!实际上,仔细看看这个项目的Issue,我们确实也是这么干的!共享万岁!正是这种优良的设计,所以作者才一直没有更新吧!

这个软件的原理是什么?

RDP Wrapper works as a layer between Service Control Manager and Terminal Services, so the original termsrv.dll file remains untouched. Also this method is very strong against Windows Update.

简单来说,RDPWrapper 是在服务控制管理器和终端服务之间增加了一层,或者说,它类似一个管道,将服务控制管理器和终端服务连接起来,在这一层(管道)实现了并发RDP会话(多用户同时远程桌面),所以它让原始termsrv.dll文件保持不变,不对其进行任何修改,从而保证Windows的稳定性,这种设计可以很好的应对Windows更新。

RDP Wrapper does not patch termsrv.dll, it loads termsrv with different parameters.

RDPWrapper 不修改termsrv.dll,它用不同的参数加载termsrv。

所以我们的问题:对于某某版本的Windows想支持多用户远程桌面,经过搜索尝试下载了很多软件不行,RDPWrapper也不支持,怎么办?急,在线等!这个根本不是问题,首先,看看我们自己Windows的termsrv.dll的版本,然后到RDPWrapper的GitHub上面找对应版本的配置文件或者修改方法(你要相信肯定不至你一个人遇到这个问题),修改配置文件,运行RDPWrapper,OK!

 

详细步骤:

1.下载RDPWrap-v1.6.2.zip,解压,里面包含如下文件,每个文件的作用也详细解释了。

文件名 描述
RDPWSTST.EXE RDP包装库安装程序/卸载程序
RDPCHECK.EXE 本地RDP检查器(可以检查RDP正在工作)
RDPCON.EXE RDP包装器配置

install.bat

快速安装批处理文件
uninstall.bat 快速卸载批处理文件
update.bat 快速更新批处理文件

 

2.执行 install.bat,会在C:\Program Files\RDP Wrapper下面生成2个文件:rdpwrap.dll(核心模块),rdpwrap.ini(配置文件),没错,这就是我们要修改的配置文件。

 

3.修改rdpwrap.ini配置文件,C:\Program Files\RDP Wrapper\rdpwrap.ini,添加以下内容:
[10.0.18362.10000]
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=82FB5
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x64=1
SingleUserOffset.x64=0DBFC
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1FE15
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x64=1
SLInitOffset.x64=22DDC
SLInitFunc.x64=New_CSLQuery_Initialize

[10.0.18362.10000-SLInit]
bInitialized.x64 =F6A8C
bServerSku.x64 =F6A90
lMaxUserSessions.x64 =F6A94
bAppServerAllowed.x64 =F6A9C
bRemoteConnAllowed.x64=F6AA0
bMultimonAllowed.x64 =F6AA4
ulMaxDebugSessions.x64=F6AA8
bFUSEnabled.x64 =F6AAC

4. 更新配置,使用管理员权限打开命令行, 进入第 1 步的文件夹, 执行 RDPWInst.exe -r 命令。

5.运行,检查是否支持

222.替换termsrv.dll文件提示没有权限?提示最大连接数量?如何优化远程桌面自动注销登出用户?请看我前面的博客!