在Windows11上为多个用户启用RDP

您可以在 Windows 系统上同时建立多个远程桌面连接,但此功能受许可证限制。它会阻止您创建终端 RDP 服务器。如果您需要此服务,则必须购买 Windows Server 许可证、RDS CALS,并且应在您的计算机上安装远程桌面会话主机 (RDSH)。如果你想要一个免费的替代方案,你可以使用 RDP(远程桌面协议)来创建多个连接。在本文中,我们将讨论如何在 Windows 11 计算机上为多个用户启用 RDP 。

如何在 Windows 11 上为多个用户启用 RDP

在了解任何公司的需求后,您可以将设备部署在不同的位置。有些在办公地点,很容易到达,有些在偏远地区。所有这些设备都有不同的品牌,它们可能有不同的操作系统。管理此类网络对于 IT 管理员来说是一项具有挑战性的工作,而远程桌面连接可以让您的工作变得轻松。

使用以下方法在 Windows 11 上启用远程桌面连接。

  1. 使用 RDP 包装器库
  2. 使用十六进制编辑器修改 termsrv.dll
  3. 使用 PowerShell 脚本修补 termsrv.dll
  4. 修改本地组策略

让我们讨论这些启用远程桌面连接的方法。

1] 使用 RDP 包装器库

RDP Wrapper Library 是一个免费的开源 GitHub 项目,充当远程桌面服务和服务控制管理器 (SCM) 之间的中介。它允许用户在 Windows 11 上进行多个 RDP 会话,您还可以在 Windows 家庭版上配置 RDP 服务器,而无需修改“termsrv.dll”文件。对于同时连接,RDP Wrapper Library 使用更新的参数加载 termsrv.dll 库。在安装 RDP Wrapper Library 之前,您最好检查未打补丁的 termsrv.dll 文件。

让我们使用以下步骤启用 RDP Wrapper Libary。

  • 从github.com下载 RDP 包装器库。
  • 提取 zip 文件的内容。
  • 右键单击“ install.bat ”并选择以管理员身份运行。
  • 点击“ RDPConfig.exe ”打开 RDP Wrapper Configuration 并完成安装过程。

已经看到,在安装 RDP Wrapper 后,它显示正在运行,但在 Windows 10(版本 10.0.19041.1320)上无法运行。

  • 从raw.githubusercontent. com下载计算机上 rdpwrap. ini 文件的当前版本。
  • 打开下载的文件,从那里选择所有内容,按 Ctrl+ C,打开文件资源管理器,转到C:\Program Files\RDP Wrapper\rdpwrap.ini文件,然后粘贴所有复制的内容。
  • 重新启动计算机。
  • 点击“RDPConfig.exe”打开“RDP Wrapper Configuration”。验证“诊断”部分中的所有项目是否都是绿色的。
  • 点击“RDPCheck.exe”以打开辅助 RDP 会话或从远程计算机连接多个 RDP 会话。

希望这会为您解决问题。

2] 使用 HEX 编辑器修改 termsrv.dll

在 Windows 11 计算机上启用多个远程桌面连接的下一个也是最有效的解决方案是修改 termsrv.dll 文件。按照规定的解决方案在您的计算机上启用 RDP。

  • 在修改之前备份 termserv.dll 文件。
  • 按 Windows + R,键入 cmd,然后按 Ctrl + Shift + Enter 以管理员身份打开命令提示符。
  • 在命令提示符中输入以下命令以创建备份。
复制 c:\Windows\System32\termsrv.dll termsrv.dll_backup
  • 要将所有权授予本地管理员,请运行此命令
takeown /F c:\Windows\System32\termsrv.dll /A
  • 成功完成后,您将看到以下 SUCCESS 消息。

“ c:\Windows\System32\termsrv.dll” 现在归管理员组所有。

  • 要使用icacls.exe允许本地管理员组对 termsrv.dll 文件具有完全控制权限,请运行以下命令:
icacls c:\Windows\System32\termsrv.dll /grant Administrators:F
  • 成功完成操作后,您将看到以下消息:
c:\Windows\System32\termsrv.dll 成功处理了 1 个文件;处理 0 个文件失败。
  • 使用 services.msc 控制台终止远程桌面服务 (TermService)。您还可以运行以下命令:
净停止TermService
  • 要了解 Windows 版本和内部版本号,请打开 PowerShell 并运行以下命令:
获取计算机信息 | 选择 WindowsProductName、WindowsVersion
  • 下载您选择的 HEX 编辑器软件,例如Registry Explorer并安装它。
  • 使用 HEX 编辑器软件启动“termsrv.dll”文件。这个 Tiny Hexer 编辑器无法更改 system32 文件夹中的“termsvr.dll”文件,因此您必须将其复制到桌面才能进行更改。
  • 根据您的 Windows 版本和构建,您需要找到以下字符串。
Windows 11 RTM (21H2 – 22000.258):39 81 3C 06 00 00 0F 84 4F 68 01 00/Windows 10 x64 21H2:39 81 3C 06 00 00 0F 84 DB 61 01 00/Windows 10 x64 21H1:30 C 81 00 0F 84 2B 5F 01 00/Windows 10 x64 20H2:39 81 3C 06 00 00 0F 84 21 68 01 00/Windows 10 x64 2004:39 81 3C 06 00 00 0F 84 D9 51 01 00/Windows 1909 x6 81 3C 06 00 00 0F 84 5D 61 01 00/Windows 10 x64 1903:39 81 3C 06 00 00 0F 84 5D 61 01 00/Windows 10 x64 1809:39 81 3C 06 00 00 0F 84 01B 0F/Windows 01B 0 x64 1803:8B 99 3C 06 00 00 8B B9 38 06 00 00/Windows 10 x64 1709:39 81 3C 06 00 00 0F 84 B1 7D 02 00
  • 现在您应该用以下字符串替换该字符串。
39 81 3C 06 00 00 0F 84 7F 2C 01 00

最后,保存文件,并运行 TermService。

3] 使用 PowerShell 脚本修补 termsrv.dll

如果使用十六进制编辑器手动修改 termsrv.dll 文件无法解决使用多个远程桌面连接的要求,则可以使用以下 PowerShell 脚本。

让我们借助 PowerShell 脚本修补 termsrv.dll 文件。

  • 复制以下代码并将其粘贴到记事本文件中。
# 停止 RDP 服务,备份 termsrv.dll 文件并更改权限
停止服务 UmRdpService -Force
停止服务 TermService -Force
$termsrv_dll_acl = 获取 Acl c:\windows\system32\termsrv.dll
复制项目 c:\windows\system32\termsrv.dll c:\windows\system32\termsrv.dll.copy
接管 /fc:\windows\system32\termsrv.dll
$new_termsrv_dll_owner = (Get-Acl c:\windows\system32\termsrv.dll).owner
cmd /c "icacls c:\windows\system32\termsrv.dll /Grant $($new_termsrv_dll_owner):F /C"
# 在 termsrv.dll 文件中搜索模式
$dll_as_bytes = Get-Content c:\windows\system32\termsrv.dll -Raw -编码字节
$dll_as_text = $dll_as_bytes.forEach('ToString', 'X2') -join '
$patternregex = ([regex]'39 81 3C 06 00 00(\s\S\S){6}')
$patch = 'B8 00 01 00 00 89 81 38 06 00 00 90'
$checkPattern=Select-String -模式 $patternregex -InputObject $dll_as_text
如果($checkPattern -ne $null){
$dll_as_text_replaced = $dll_as_text -replace $patternregex, $patch
}
Elseif (Select-String -Pattern $patch -InputObject $dll_as_text) {
Write-Output 'termsrv.dll 文件已经是补丁,正在退出'
出口
}
别的 {
写输出“未找到模式”
}
# 修补 termsrv.dll
[字节[]] $dll_as_bytes_replaced = -split $dll_as_text_replaced -replace '^', '0x'
设置内容 c:\windows\system32\termsrv.dll.patched -Encoding Byte -Value $dll_as_bytes_replaced
#比较两个文件
fc.exe /bc:\windows\system32\termsrv.dll.patched c:\windows\system32\termsrv.dll
# 替换原来的 termsrv.dll 文件
复制项目 c:\windows\system32\termsrv.dll.patched c:\windows\system32\termsrv.dll -Force
设置 Acl c:\windows\system32\termsrv.dll $termsrv_dll_acl
启动服务 UmRdpService
启动服务 TermService
  • 使用扩展名 .ps1 保存此文件(例如:TermsRdpPatch.ps1)。
  • 要更改当前会话的 PowerShell 执行策略设置,请运行以下 PowerShell 命令:
Set-ExecutionPolicy 旁路 -Scope Process -Force
  • 点击“termsrv_rdp_patch.ps1”运行脚本。

确保每次更新 Windows 后都手动编辑 termsrv.dll 文件。这将为您解决问题。

4]修改本地组策略

我们还有另一种方法可以启用远程桌面连接,它是本地组策略。我们也可以通过修改组策略来启用远程桌面连接。

让我们修改本地组策略。

  • 按 Windows + R
  • 在运行对话框中写入 gpedit.msc 并按回车键打开本地组策略编辑器面板。
  • 转到计算机配置 > 管理模板 > Windows 组件 > 远程桌面服务 > 远程桌面会话主机 > 连接
  • 单击“限制远程桌面服务”用户并将其更改为单个“远程桌面服务”会话策略并将其设置为已禁用。
  • 单击“限制连接数”策略。默认状态为“未配置”。选择已启用单选按钮以启用“选项”部分中允许的“RD 最大连接数”计数器菜单。
  • 将允许的“ RD 最大连接数”设置为 999999。
  • 单击确定以保存更改并重新启动 Windows。

进行这些更改后,您的 RDP 会话就为多个用户配置了。

因此,如您所见,您可以使用上述任何一种方法轻松地在远程桌面中启用多个并发用户。如果您不想下载第三方应用程序或使用批处理文件,最好的选择是配置 限制远程桌面服务的组策略, 但是,还有其他方法可以为您提供选择。

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
(3)
上一篇 2023年2月28日
下一篇 2023年2月28日

相关推荐