解决“No RDS License Servers”问题:排查 RD 许可证服务器不可用的错误

更新 — 2026 年 10 月:本指南已于 2026 年 10 月审核和更新。其中的指导仍适用于运行远程桌面服务的当前 Windows Server 版本,以下步骤仍然是修复“ No RDS License Servers available to provide a license”错误的有效方法。

在使用远程桌面服务 (RDS) 时,遇到“ No RDS License Servers available to provide a license”错误可能会中断运营,并阻止用户访问其应用程序或桌面。本指南提供了可操作的步骤,以高效地排查和解决该问题。

没有可用的 RDS 许可证服务器


什么是 RD 许可证服务器?

远程桌面服务 (RDS) 通过多个服务器角色运行,包括:

  1. RD 许可证服务器:跟踪、颁发和管理远程桌面服务客户端访问许可证 (RDS CAL)。
  2. RD 会话主机 (RDSH):确定连接到会话主机的用户是否需要客户端访问许可证。

当用户连接到 RD 会话主机时,主机向 RD 许可证服务器请求 RDS CAL。如果有合适的许可证可用,则授予连接。如果没有,用户可能会遇到阻止访问的错误。


常见症状

当 RD 许可证服务器不可用时,你可能会遇到以下症状:

  1. RDP 连接期间的错误消息:
    • “The Remote Desktop Session Host server does not have a Remote Desktop license server specified.”
  2. 事件日志条目:
    • 事件 ID 1130:
    • Message: The Remote Desktop Session Host server does not have a Remote Desktop license server specified. To specify a license server, use the Remote Desktop Session Host Configuration tool.
    • 事件 ID 18:
      Message: The Remote Desktop license server "<LicenseServerName>" has not been activated and will only issue temporary licenses.

根本原因

  1. 未配置许可证服务器:
    • 未部署 RD 许可证服务器角色。
    • 许可证服务器未激活。
    • 没有可用的客户端访问许可证 (CAL)。
  2. 连接问题:
    • 由于网络配置错误,会话主机无法访问 RD 许可证服务器。
  3. 许可配置不正确:
    • 许可模式或服务器设置配置错误。

缓解步骤

1. 绕过许可证服务器

如果需要立即访问,请临时绕过许可证服务器:

  • 命令行选项:mstsc /admin /v:<IP>:<Port> 如果未指定端口,则使用默认 RDP 端口 (3389)。
mstsc /admin
  • 确认 RD 会话主机角色:
    在提升的命令提示符中运行以下命令,以检查 RD 会话主机角色是否已启用:
reg query "HKLM\SOFTWARE\Microsoft\ServerManager\ServicingStorage\ServerComponentCache\RDS-RD-Server" /v InstallState
  • 值 0:角色已禁用;请继续启用它。
  • 其他值:角色已启用;跳到下一步。

2. 通过组策略配置许可

对于已加入域的计算机,请使用组策略配置 RD 许可证服务器:

  • 打开组策略编辑器:gpedit.msc
  • 导航到:Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing
  • 设置以下策略:
    • Use the specified Remote Desktop License Servers:指定许可证服务器的 FQDN 或 IP。
    • Set the Remote Desktop Licensing Mode:选择“Per User”或“Per Device”模式。

3. 在本地配置许可

对于独立计算机,请直接通过注册表配置 RD 许可证服务器:

  • 检查注册表值:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core" /v LicensingMode
reg query "HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters" /v SpecifiedLicenseServers

  • 更新注册表项(如有必要):
    • 将许可模式设置为“Per User”:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core" /v LicensingMode /t REG_DWORD /d 4
  • 指定许可证服务器:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters" /v SpecifiedLicenseServers /t REG_MULTI_SZ /d "<LicenseServerFQDN>"
  • 重启计算机以使更改生效。

4. 删除 RD 会话主机角色

如果不需要许可,请删除 RD 会话主机角色,以恢复默认 RDP 设置(最多允许两个并发连接):

dism /ONLINE /Disable-feature /FeatureName:Remote-Desktop-Services

如果 RD 许可证角色也已安装但未使用,请将其删除:

dism /ONLINE /Disable-feature /FeatureName:Licensing


5. 诊断连接问题

如果 RD 许可证服务器已配置但不可用,请检查网络连接:

  • Ping 许可证服务器:
ping <LicenseServerName>
  • 测试端口连接:
Test-NetConnection –ComputerName <LicenseServerName> -Port 135
  • 验证 WMI 访问:
    • 打开wmimgmt.msc.
    • 连接到许可证服务器并验证远程访问是否成功。
  • 检查 Azure 网络设置(如适用):
    • 确保没有网络安全组 (NSG) 或防火墙阻止端口 135。
    • 如果连接问题仍然存在,请联系网络团队。

6. 更正许可配置

如果许可配置不正确,请验证以下内容:

  • 注册表设置: HKLM\Software\Policies\Microsoft\WindowsNT\TerminalServices
  • 许可证管理器:
    • 打开服务器管理器,导航到:Tools > Remote Desktop Services > Remote Desktop Licensing Manager
    • 确保已安装正确的许可证和版本。
  • 重启许可证服务器:
    如果服务器无响应,请重启它并检查其运行状况。

7. 重置远程桌面服务 (RDS) 的 120 天试用期

如果你需要时间购买许可证,同时又面临让 RDS 上线的压力,我们可以临时重置 120 天试用许可证。你可以参考我之前关于这个主题的文章:
如何重置远程桌面服务 (RDS) 的 120 天试用期 – SysOSX: AI & Cloud

注意:此过程仅应用于非生产环境,并必须遵守 Microsoft 的许可条款。


预防措施

  1. 激活 RD 许可证服务器:确保 RD 许可证服务器已激活,以便颁发永久许可证。
  2. 监控 CAL 可用性:定期检查 RDS CAL 的可用性。
  3. 网络配置:验证 RD 会话主机与 RD 许可证服务器之间的连接。
  4. 记录配置:保留许可设置的文档,以便在排查期间快速参考。

相关指南