RDPWrap.ini 快速上手指南:从零配好 Windows 多用户远程桌面

RDPWrap.ini 快速上手指南:从零配好 Windows 多用户远程桌面

【免费下载链接】rdpwrap.iniRDPWrap.ini for RDP Wrapper Library by Stas'M项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini

RDPWrap.ini 是 RDP Wrapper Library 的配套配置仓库:它按 Windows 版本整理了对termsrv.dll的补丁偏移,让专业版、家庭版这类只有单用户限制的 Windows 也能多人同时远程登录。读完本文,你能完成配置获取、选对版本文件、重启验证,并在系统更新导致失效后快速恢复。

它解决了什么问题

Windows 专业版/家庭版的termsrv.dll在编译时就写死了"单用户"判断,组策略里改不出多会话。RDP Wrapper 的思路是在内存里改写这几处判断,而 RDPWrapper.ini 负责告诉它改哪里、怎么改:

  • 纯配置仓库,不含程序:程序本体是 RDP Wrapper(安装后提供RDPConf.exe、RDPWInst.exe等工具),本仓库只存偏移数据。
  • 按构建号精确匹配:autogenerated/下每个文件对应一个具体 build,例如10.0.26100.7523-autogenerated_x64.ini,文件名里的x64/x86表示目标架构。
  • 覆盖范围广:从 Win7(6.1.7601.*)、Win8(6.2.9200.*)到 Win10(10.0.19041.*)、Win11(10.0.22000.*/10.0.22621.*/10.0.26100.*/10.0.28000.*),以及 Server 2019(10.0.17763.*)、Server 2022(10.0.20348.*)。
  • 更新频率高:Readme.md里的 History 记录了维护者逐次提交新偏移的历史,几乎每次 Windows 更新后几天内就有对应条目。

📌 理解这一点很关键:程序装错了查程序,配置不对查这里。

动手前:环境与前置检查

在目标 Windows 机器上先确认三件事。

  1. 确认系统构建号(这是选配置文件唯一依据):
:: 查看 OS Name / OS Version,重点是 build 号(如 26100.7523) systeminfo | findstr /B /C:"OS Name" /C:"OS Version" :: 或直接弹窗查看 winver
  1. 确认架构:wmic os get osarchitecture,输出64-bit就选_x64文件。

  2. 确认 RDP Wrapper 已安装且远程桌面服务存在:

sc query TermService

常见构建号对照,方便对号入座:

构建号前缀系统
19041Windows 10 20H2/21H2/22H2
22000Windows 11 21H2
22621Windows 11 22H2
26100Windows 11 24H2
28000Windows 11 25H2
17763Windows Server 2019
20348Windows Server 2022

⚠️ 注意:systeminfo给出的 build 是带更新补丁的完整号(第四段也要),选配置时优先精确匹配,匹配不到再退一档选同主版本里最接近的。

三步完成首次配置

以"已装好 RDP Wrapper、装完不能多人连"为前提。

  1. 获取配置。两种途径:

    • 直接下载仓库根目录的 rdpwrap.ini——这是维护者合并所有构建的完整文件(Updated字段标注维护日期,覆盖从 Win7 到 Win11 25H2);
    • 或 clone 整个仓库,按需取单个构建文件:
    git clone https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini
  2. 整文件替换,不要拼段。先备份再覆盖:

    copy "C:\Program Files\RDP Wrapper\rdpwrap.ini" "C:\Program Files\RDP Wrapper\rdpwrap.ini.bak" copy "rdpwrap.ini" "C:\Program Files\RDP Wrapper\rdpwrap.ini"

    Readme.md里的 Important Notice 明确警告:新版termsrv.dll需要新的[PatchCodes],只往旧文件追加一个[10.0.xxxx]段而不更新[PatchCodes],会出现"偏移段对得上但补丁失败"的情况。整文件替换是最稳的做法。

  3. 重启服务并验证:

    net stop TermService net start TermService

    然后运行安装目录下的RDPConf.exe:

    • 预期输出:Patch、Listener、Single user、DefPolicy 等项全部显示OK(绿色对勾);
    • 实测:本机登录一个账号,另一台机器用另一个账号连同一台主机,两个会话应并存,而不是顶掉对方。

核心配置逐项解读

拿仓库里真实的10.0.26100.7523-autogenerated_x64.ini做例子,一个构建的完整配置由这几块组成:

[Main] Updated=2025-12-23 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 [SLPolicy] TerminalServices-RemoteConnectionManager-AllowMultipleSessions=1 TerminalServices-RemoteConnectionManager-MaxUserSessions=0 ... [10.0.26100.7523] SingleUserPatch.x64=1 SingleUserOffset.x64=9F99B SingleUserCode.x64=mov_eax_1_nop_2 DefPolicyPatch.x64=1 DefPolicyOffset.x64=9BEFF DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp

逐项说"是什么 / 为什么 / 填错会怎样":

  • AllowMultipleSessions=1([SLPolicy] 段):告诉策略层"允许多会话"。这是写入给termsrv.dll策略查询接口的值,不是组策略键。填 0 等于没改,依旧单用户。
  • MaxUserSessions=0:0 表示不限会话数。填成 1 就退回单用户;这个值与[SLInit]段的lMaxUserSessions=0含义一致。
  • SingleUserPatch / Offset / Code三件套:补丁本体。Patch=1表示启用,Offset是termsrv.dll内单用户判断处的十六进制偏移,Code引用[PatchCodes]里的一段机器码(如mov_eax_1_nop_2)写过去。三者必须同属一个构建——把 A 版本的偏移配 B 版本的代码,轻则补丁打不进去(RDPConf报 Fail),重则服务崩溃。
  • DefPolicyPatch / Offset / Code:另一处"默认策略查询"函数的改写点,让策略层返回"服务器版"结果。漏配它,RDPConf里 DefPolicy 项会红。
  • [PatchCodes]段:上面引用的机器码片段池(nop=90、Zero=00、jmpshort=EB等),新构建往往需要新片段,所以更新构建段时必须连它一起更新。
  • [SLInit]+[10.0.26100.7523-SLInit](较新构建才需要):SLInitHook在termsrv初始化时直接写入一组运行时值(bServerSku=1、lMaxUserSessions=0…),-SLInit段记录这些值在内存结构里的偏移。这是新版termsrv.dll的第三道关,老配置没有这段,所以更新后单用户限制会"复活"。

真实场景怎么用

场景一:小团队共用一台主机

  1. 按上文装好配置,主机上创建多个本地账号;
  2. 每个成员用自己的账号登录自己的远程会话,互不顶号;
  3. 效果:一台机器同时开 2~5 个会话,各自有独立桌面、独立文件权限。注意 Windows 工作站本身对并发会话数没有硬性承诺,实际以机器性能为准。

场景二:开发测试机多会话

  1. 测试环境用固定账号,开发机用另一账号,同一台机器上并行跑"部署"和"验证"两条线;
  2. 配合AllowAppServerMode=1,还可以只远程单个应用而非整个桌面(RDP 客户端勾选"应用程序模式");
  3. 效果:不用来回切换任务管理器杀会话,调试和验收互不干扰。

场景三:多台机器批量部署

  1. 写个脚本先取构建号:(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentBuildNumber;
  2. 按构建号从autogenerated/取对应 ini(或统一用根目录rdpwrap.ini);
  3. 推送文件 →net stop/start TermService→ 拉RDPConf.exe输出留档;
  4. 效果:十几台机器一次巡检,哪台补丁失败从输出里一眼看出来了。

出问题了查这里

现象可能原因处理
RDPConf显示 Patch: Fail / 红叉当前 build 没有对应偏移,或配置文件太旧查Readme.mdHistory 里有没有你的构建号;没有就取同主版本最近的构建试试
Listener 状态 Not listeningTermService 未启动或端口被占sc query TermService看状态,不行就net start TermService
能连但只能一个人在线配置是旧的,缺[PatchCodes]新片段或-SLInit段整文件替换为最新rdpwrap.ini,重启服务
提示"只能本地连接"(LocalOnly 生效)LocalOnlyPatch未打上(新构建需要它)确认配置里有LocalOnlyPatch.x64=1及其偏移,重启服务
连接秒断或登录失败会话数/许可相关策略值被改坏核对MaxUserSessions=0、lMaxUserSessions=0是否被手动改动
更新 Windows 后全部失效更新换掉了termsrv.dll,偏移全变走下面的恢复流程

系统更新后的恢复流程(最高频故障):

  1. 更新重启后先跑systeminfo记新的完整 build 号;
  2. 到仓库autogenerated/按新 build 找文件,看Readme.mdHistory 确认该构建已被支持;
  3. 用仓库里的完整rdpwrap.ini整体替换本地文件(再次强调:不要只复制构建段);
  4. net stop TermService && net start TermService,RDPConf.exe复查四项全绿;
  5. 用第二个账号实测并发登录,通过才算恢复。

✅ 如果仓库里还没有你的新构建号,先拿同主版本(如都是26100.*)的最新构建文件顶着用,多数小更新兼容;等维护者提交新偏移后再换精确版本。

可选进阶调优

标准配置里这些开关默认都是开着的,按需调整(改动前记得留一份.bak):

  • TerminalServices-RDP-7-Advanced-Compression-Allowed=1([SLPolicy] 段):启用 RDP 7 高级压缩。按需关闭:弱网环境保留它省带宽;服务器端 CPU 紧张、画面卡顿时可改成 0,用服务端 CPU 换流畅度。
  • TerminalServices-RemoteConnectionManager-AllowMultimon=1:允许多显示器映射。单屏客户端把它关掉可略减握手开销,多屏用户勿动。
  • TerminalServices-RemoteConnectionManager-UiEffects-DWMRemotingAllowed=1:保留 DWM 桌面特效的远程渲染。关掉(=0)后远程画面更"素"但更省流量,适合纯命令行/服务器场景。
  • TerminalServices-DeviceRedirection-Licenses-TSEasyPrintAllowed=1:远程打印重定向。用不到打印的功能可以关闭,减少会话初始化时的设备枚举。
  • TerminalServices-DeviceRedirection-Licenses-PnpRedirectionAllowed=1:USB 等 PnP 设备重定向。按需启用;开得多意味着会话占用更多主机资源。
  • 会话上限:8dc86f1d-...-MaxSessions=1000这类条目是协议层会话数上限,一般保持原值,没有实际并发压力时不用动。

⚠️ 所有[SLPolicy]值最终写进termsrv的策略查询结果,改错不会导致系统崩溃,但可能把功能关掉。建议一次只改一项、重启服务、用RDPConf加实测验证。

资料入口与收尾

仓库内三处值得收藏:

  • Readme.md:更新历史(哪个日期支持了哪些构建)、"整文件替换"的官方说明、社区 Discord 入口;
  • rdpwrap.ini:全构建合并的完整配置,日常替换就用它;
  • autogenerated/:按"构建号_架构"拆分的单版本文件,适合只取一个目标版本。

三条收尾提醒:

  1. 每次 Windows 更新之前把当前能用的rdpwrap.ini备份一份,更新后失效就恢复备份、别瞎改;
  2. 备份文件名里记下当时 build 号(如rdpwrap.ini.26100.7523.bak),方便回溯是哪次更新弄坏的;
  3. 配置是版本强绑定的,跨大版本(22621 → 26100)复用旧文件基本无效,换 build 就换整份配置。

【免费下载链接】rdpwrap.iniRDPWrap.ini for RDP Wrapper Library by Stas'M项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

STM32驱动28BYJ-48步进电机:ULN2003接线、相序表与定时器中断详解

STM32驱动28BYJ-48步进电机:ULN2003接线、相序表与定时器中断详解

简介:基于STM32F103的28BYJ-48四相五线步进电机驱动源码包,面向嵌入式初学者与电机控制开发者,解决步进电机的精确角度控制、转向控制与脉冲调速问题。项目使用标准外设库编写,代码中涵盖GPIO推挽输出配置、定时器中断产生脉冲、P…

2026/10/20 1:27:59 阅读更多 →
QLScriptPublic 三步跑通自动签到:从部署到百款应用全打卡,只需 10 分钟

QLScriptPublic 三步跑通自动签到:从部署到百款应用全打卡,只需 10 分钟

QLScriptPublic 三步跑通自动签到:从部署到百款应用全打卡,只需 10 分钟 【免费下载链接】QLScriptPublic 青龙面板脚本公共仓库 企鹅交流1021185005 项目地址: https://gitcode.com/GitHub_Trending/ql/QLScriptPublic 每天早上挨个打开十几个 A…

2026/10/20 1:27:59 阅读更多 →
黑苹果 EFI 自动配置 10 分钟实战:用 OpCore-Simplify 生成可用的 OpenCore EFI

黑苹果 EFI 自动配置 10 分钟实战:用 OpCore-Simplify 生成可用的 OpenCore EFI

黑苹果 EFI 自动配置 10 分钟实战:用 OpCore-Simplify 生成可用的 OpenCore EFI 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 黑苹果安装…

2026/10/20 1:26:59 阅读更多 →

最新新闻

Day90-Java后端工程师的AI时代竞争力地图

Day90-Java后端工程师的AI时代竞争力地图

这套专栏走到今天:正篇 90 篇打底,续集《AI 工程化深水区》60 篇接着往生产级走,加起来 150 篇、22 个阶段。你现在的位置和要去的地方,都在这张图里:上半部分是正篇——前 8 个阶段(Day 1-56)把…

2026/10/20 2:12:24 阅读更多 →
基于SpringBoot的智能肥胖个性化管控系统-附源码

基于SpringBoot的智能肥胖个性化管控系统-附源码

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/10/20 2:12:24 阅读更多 →
技术人如何系统化管理技能:从技能矩阵到学习路径的完整指南

技术人如何系统化管理技能:从技能矩阵到学习路径的完整指南

1. 从“skills”这个标题说起:一个被低估的硬核话题“skills”这个词,乍一看平平无奇,甚至有点太宽泛了。但如果你在技术社区或者职场成长圈子里待过一段时间,就会发现一个很有意思的现象:越是看起来简单的词&#xff…

2026/10/20 2:12:24 阅读更多 →
四、类和对象(三)

四、类和对象(三)

👉 欢迎阅读这篇文章 👇 目录1、构造函数延伸2、类型转换3、static成员4、友元5、内部类6、匿名对象7、对象拷贝时的编译器优化1、构造函数延伸 我们上一篇文章中介绍了构造函数,我们在实现构造函数的时候,初始化成员变量主要使用…

2026/10/20 2:12:24 阅读更多 →
4款芯片获UFCS认证,快充协议碎片化时代迎来破局

4款芯片获UFCS认证,快充协议碎片化时代迎来破局

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 2:12:24 阅读更多 →
十分钟教你如何升级OpenClaw:npm与Docker两种方式配TaoToken

十分钟教你如何升级OpenClaw:npm与Docker两种方式配TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 2:11:22 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →