无法连接到 RDS,因为没有可用的 RD 许可服务器
本文有助于对包括远程桌面会话主机 (RDSH) 服务器和远程桌面许可服务器的部署中出现的“无可用的许可证”错误进行疑难解答。
现象
客户端无法连接到远程桌面服务,并且会显示类似于如下内容的消息:
The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license.
Access was denied because of a security error.
以域管理员身份登录到 RD 会话主机,然后打开 RD 许可证诊断程序。 找到如下所示消息:
The grace period for the Remote Desktop Session Host server has expired, but the RD Session Host server hasn't been configured with any license servers. Connections to the RD Session Host server will be denied unless a license server is configured for the RD Session Host server.
License server <computer name> is not available. This could be caused by network connectivity problems, the Remote Desktop Licensing service is stopped on the license server, or RD Licensing isn't available.
原因
这些问题可能是由以下用户消息引起的:
- 由于此计算机没有可用的远程桌面客户端访问许可证,远程会话已断开连接。
- 由于没有远程桌面许可证服务器可以提供许可证,远程会话已断开连接。
在这种情况下,请检查 RD 许可配置。
如果 RD 许可证诊断程序列出了其他问题,例如“RDP 协议组件 X.224 检测到协议流中出错并断开客户端连接”,则可能会出现影响许可证证书的问题。 此类问题往往与如下所示的用户消息相关联:
由于出现安全错误,客户端无法连接到终端服务器。 确保登录到网络后,重新尝试连接到服务器。
对于这种情况,请刷新 X509 证书注册表项。
检查 RD 许可配置
可以使用服务器管理器和 RD 许可管理器检查 RD 许可配置。 检查下列各项:
已安装 RD 许可角色并已激活许可证服务器。
注意
有关此配置的详细信息,请参阅激活远程桌面服务许可证服务器。
许可证服务器为每个可以连接到 RDS 的用户和设备提供客户端访问许可证 (CAL)。
注意
有关此配置的详细信息,请参阅在远程桌面许可证服务器上安装 RDS 客户端访问许可证。
许可证的配置应类似于以下屏幕截图。 许可证服务器名称旁边应有绿色复选标记,列中的数字应反映许可证总数和可用许可证数。
RDS 部署使用正确的许可证服务器、许可模式和策略设置。 配置的详细信息取决于你拥有的部署类型:
为包含 RD 连接代理角色的 RDS 部署配置许可
在 RD 连接代理计算机上,打开服务器管理器。
在服务器管理器中,选择“远程桌面服务”>“概述”>“编辑部署属性”>“RD 许可”。
选择远程桌面授权模式(根据部署选择“每用户”或“每设备”)。
注意
如果将已加入域的服务器用于 RDS 部署,则可以同时使用“每用户”和“每设备”CAL。 如果将工作组服务器用于 RDS 部署,则必须使用每设备 CAL。在这种情况下,不允许使用每用户 CAL。
指定许可证服务器,然后选择“添加”。
为仅包括 RD 会话主机角色和 RD 许可角色的 RDS 部署配置许可
在 RD 会话主机计算机上,选择“开始”,然后输入“gpedit.msc”打开本地组策略编辑器。
转到“计算机配置”>“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“许可”。
在策略列表中,右键单击“使用指定的远程桌面许可证服务器”,然后选择“属性”。
选择“已启用”,然后在“要使用的许可证服务器”下输入许可证服务器的名称。 如果有多个许可证服务器,请使用逗号分隔其名称。
选择“确定”。
在策略列表中,右键单击“设置远程桌面授权模式”,然后选择“属性”。
选择“启用”。
在“为远程桌面会话主机服务器指定授权模式”下,根据部署选择“每设备”或“每用户”。
刷新 X509 证书注册表项
重要
请认真遵循本部分的说明。 如果错误地修改了注册表,可能会出现严重问题。 开始修改注册表之前,请备份注册表,这样就可以在出错时还原它。
若要解决此问题,请备份然后删除 X509 证书注册表项,重启计算机,然后重新激活 RD 许可服务器。 按以下步骤操作。
注意
在每个 RDSH 服务器上执行以下过程。
下面介绍如何重新激活 RD 许可服务器:
- 打开 Registry Editory,导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM。
- 在“注册表”菜单中,选择“导出注册表文件”。
- 在“文件名”框中输入 exported- Certificate,然后选择“保存”。
- 右键单击以下每个值,选择“删除”,然后选择“是”以验证删除:
- Certificate
- X509 Certificate
- X509 Certificate ID
- X509 Certificate2
其他解决方法
如果确认许可配置正确,但系统仍未正确颁发 CAL,请执行以下步骤:
步骤 1:使用 RD 许可诊断程序检查问题
要打开 RD 许可诊断程序,请打开服务器管理器,然后选择“工具”>“终端服务”>“RD 许可诊断程序”。
RD 许可诊断程序的顶部窗口列出了诊断程序检测到的问题。 例如,你可能会看到类似如下内容的消息:
此远程桌面会话主机服务器不提供许可证,RD 许可诊断程序已确定 RD 会话主机服务器的许可问题
“RD 许可诊断程序信息”部分显示有关此问题的详细信息,包括其可能的原因以及修正问题的步骤。
步骤 2:确保 RDS CAL、RD 会话主机和 RD 许可证服务器的版本兼容
下表显示了哪些 RDS CAL 和 RD 会话主机版本彼此兼容。
RDS 2008 R2 及更低版本的 CAL | RDS 2012 CAL | RDS 2016 CAL | RDS 2019 CAL | |
---|---|---|---|---|
2008、2008 R2 会话主机 | 是 | 是 | 是 | 是 |
2012 会话主机 | 否 | 是 | 是 | 是 |
2012 R2 会话主机 | 否 | 是 | 是 | 是 |
2016 会话主机 | 否 | No | 是 | 是 |
2019 会话主机 | 否 | No | No | 是 |
下表显示了哪些 RDS CAL 和许可证服务器版本彼此兼容。
RDS 2008 R2 及更低版本的 CAL | RDS 2012 CAL | RDS 2016 CAL | RDS 2019 CAL | |
---|---|---|---|---|
2008、2008 R2 许可证服务器 | 是 | 否 | No | 否 |
2012 许可证服务器 | 是 | 是 | 否 | 否 |
2012 R2 许可证服务器 | 是 | 是 | 否 | 否 |
2016 许可证服务器 | 是 | 是 | 是 | 否 |
2019 许可证服务器 | 是 | 是 | 是 | 是 |
有关详细信息,请参阅 RDS CAL 版本兼容性。
步骤 3:确保为 RDS 环境使用适当类型的 RDS CAL
如果将已加入域的服务器用于 RDS 部署,则可以同时使用“每用户”和“每设备”CAL。 如果将工作组服务器用于 RDS 部署,则必须使用“每设备 CAL”;在这种情况下,不允许使用“每用户 CAL”。