必须将注册表中fSingleSessionPerUser设为0以启用多用户并发远程桌面会话,同时确保fDenyTSConnections为0,并可选设置MaxInstanceCount为999999解除会话数限制。

要让Windows 10/11专业版及以上系统允许多个用户同时远程登录并各自保持独立桌面会话,必须修改注册表中控制会话模式的关键键值,否则即使开启远程桌面、添加多个用户,第二个用户登录时仍会强制断开前一个用户的会话。
修改fSingleSessionPerUser禁用单会话限制
按下 Win + R,输入 regedit 并回车,以管理员身份打开注册表编辑器。
导航至路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server。
在右侧窗格中找到名为 fSingleSessionPerUser 的 DWORD 值;若不存在,右键空白处 → 新建 → DWORD (32位) 值,命名为 fSingleSessionPerUser。
双击该值,将“数值数据”改为 0(十进制),点击确定。这是核心开关——设为 1 表示强制单会话,0 才真正启用多用户并发会话能力。
确保RDP服务允许连接
仍在同一注册表路径下(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server),确认右侧存在 fDenyTSConnections。
双击 fDenyTSConnections,将其数值数据设为 0(十进制)。如果值为 1,远程桌面服务将被完全禁用,任何RDP连接都会失败。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
解除最大会话数硬限制(可选但推荐)
依次展开注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services。
若该路径不存在,请手动逐级新建:右键 Windows NT → 新建 → 项 → 命名为 Terminal Services。
在 Terminal Services 项内右键 → 新建 → DWORD (32位) 值,命名为 MaxInstanceCount。
双击 MaxInstanceCount,选择“十进制”,输入数值 999999。这能覆盖某些版本Windows对并发会话数的隐性上限(如默认卡在30或64),避免用户数稍多就触发拒绝连接。
验证并生效
关闭注册表编辑器。
以管理员身份运行命令提示符,执行:gpupdate /force 强制刷新组策略(部分策略依赖注册表状态,此步确保联动生效)。
重启 Remote Desktop Services 服务:在命令提示符中依次执行:net stop termservice → net start termservice。不重启服务,新注册表设置不会被加载进运行中的TermService进程。

















