连接到 Azure VM 时远程桌面许可证服务器不可用

本文可帮助解决无法连接到 Azure 虚拟机 (VM) ,因为没有远程桌面许可证服务器可用于提供许可证。

症状

尝试连接到 VM 时,可能会遇到以下情况:

  • VM 屏幕截图显示操作系统已完全加载并等待凭据。

  • 尝试建立Microsoft 远程桌面协议 (RDP) 连接时,会收到以下错误消息:

    • 远程会话已断开连接,因为没有可用于提供许可证的远程桌面许可证服务器。

    • 没有可用的远程桌面许可证服务器。 远程桌面服务将停止工作,因为此计算机已过宽限期,并且至少未联系到有效的 Windows Server 2008 许可证服务器。 选择此消息以打开 RD 会话主机服务器配置以使用许可诊断。

    • 客户端尝试连接时发生许可错误, (许可) 超时。 请再次尝试连接到远程计算机。

  • RDP 连接似乎停滞在“配置远程会话”状态。

原因

如果远程桌面许可证服务器无法提供用于启动远程会话的许可证,则会出现此问题。 即使 VM 上设置了远程桌面会话主机角色,也可以由多种方案引起:

  • 环境中从未有远程桌面许可角色,宽限期(180 天)已结束。
  • 已在环境中安装远程桌面许可证,但从未激活过。
  • 远程桌面许可证具有客户端访问许可证 (CAL) ,并且已激活。 但是,活动用户比可用 CAL 更多。
  • 环境中的远程桌面许可证没有注入 CAL 来设置连接。
  • 环境中安装了远程桌面许可证。 有可用的 CAL,但未正确配置。
  • 远程桌面许可证具有 CAL,并且已激活。 但是,远程桌面许可证服务器上的一些其他问题会阻止它在环境中提供许可证。

解决方案

若要解决此问题, 请备份 OS 磁盘 并执行以下步骤:

  1. 使用管理会话连接到 VM。 为此,请使用以下方法之一:

    • 运行以下命令:

      mstsc /v:<Server>[:<Port>] /admin
      
    • 在Azure 门户转到 VM,在“设置”下选择“连接”。 在右侧面板中,选择“ 下载 RDP 文件” 以下载连接文件。

    如果无法使用管理会话连接到 VM,可以使用 Azure 上的虚拟机串行控制台 访问 VM,如下所示:

    1. 通过选择“支持”&“串行控制台故障排除>”来访问串行控制台。 如果在 VM 上启用了该功能,则可以成功连接 VM。

    2. 为 CMD 实例创建新通道。 输入 CMD 以启动通道并获取通道名称。

    3. 切换到运行 CMD 实例的通道。 在这种情况下,它应为通道 1:

      ch -si 1
      
    4. 再次选择“ 输入 ”,并为 VM 输入有效的用户名和密码(本地或域 ID)。

  2. 检查 VM 是否启用了远程桌面会话主机角色。 如果启用了角色,请确保其正常运行。 打开提升的 CMD 实例并执行以下步骤:

    1. 使用以下命令检查远程桌面会话主机角色的状态:

       reg query "HKLM\SOFTWARE\Microsoft\ServerManager\ServicingStorage\ServerComponentCache\RDS-RD-Server" /v InstallState
      

      如果此命令返回值 0,则表示该角色已禁用,你可以转到步骤 3。

    2. 使用以下命令检查策略并根据需要重新配置:

       reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core" /v LicensingMode
      
       reg query "HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers" /v SpecifiedLicenseServers
      

      如果将 LicensingMode 值设置为除 4 以外的任何值(每个用户),则将该值设置为 4:

      reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core" /v LicensingMode /t REG_DWORD /d 4
      

      如果 SpecifiedLicenseServers 值不存在,或者它具有不正确的许可证服务器信息,请更改它,如下所示:

       reg add "HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers" /v SpecifiedLicenseServers /t REG_MULTI_SZ /d "<FQDN / IP License server>"
      
    3. 对注册表进行任何更改后,请重启 VM。

    4. 如果没有 CAL 或不需要两个以上的并发用户,请删除远程桌面会话主机角色。 然后,RDP 将设置回,以仅允许两个并发 RDP 连接到 VM:

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

      如果 VM 具有远程桌面许可角色且未使用,则还可以删除该角色:

      dism /ONLINE /Disable-feature /FeatureName:Licensing
      
    5. 确保 VM 可以连接到远程桌面许可证服务器。 可以测试 VM 与许可证服务器之间的端口 135 的连接:

      telnet <FQDN / IP License Server> 135
      
  3. 如果环境中没有远程桌面许可证服务器,而你需要一台,则可以 安装远程桌面许可角色服务。 然后 配置 RDS 许可

  4. 如果远程桌面许可证服务器已配置且正常运行,请确保使用 CAL 激活远程桌面许可证服务器。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。