为什么我的远程桌面服务器不能正确使用授权服务器?

症状:

在重新启动后第一次login到远程桌面服务器时,系统日志中会生成TerminalServices-RemoteConnectionManager事件ID 1130:

远程桌面会话主机服务器没有指定的远程桌面许可证服务器。 要指定远程桌面会话主机服务器的许可证服务器,请使用远程桌面会话主机configuration工具。

一旦120天宽限期到期,尝试login导致此错误消息:

远程会话已断开,因为此计算机没有可用的远程桌面客户端访问许可证。 请联系服务器pipe理员。

但是,许可服务器已在“远程桌面会话主机configuration”中configuration,并且“许可诊断”显示没有任何问题。

如上所述重置宽限期允许login再次成功,但不能永久解决问题; 事件ID 1130继续出现在有人通过远程桌面重新启动后第一次login,再过120天后,login将再次失败。

如此处所述,发生故障的服务器中没有X509证书条目

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM 

这个问题有什么可能的原因?

首先检查微软有关事件1130的technet文章中描述的基础知识:

  • 确保远程桌面服务器具有与许可服务器的networking连接。 如果你能ping通授权服务器,基本上你可能行(但是在下面看)。

  • 确保将许可证服务器configuration为自动发现。 使用远程桌面授权pipe理器中的“查看configuration”操作。

  • 检查远程桌面服务器是否可以发现许可证服务器。 使用“远程桌面会话主机”configuration中的“许可诊断”选项,确保授权服务器出现在列表中。

  • 检查授权服务是否在许可证服务器上运行。 服务名称是TermServLicensing,友好名称可能是“terminal服务授权”或“远程桌面授权”,具体取决于Windows的版本。

如果您使用的是Windows防火墙,请检查是否在许可证服务器上启用了远程桌面授权服务器例外。 如果您使用的是第三方防火墙,或者远程桌面服务器和许可服务器之间有外部防火墙,请确保已打开所有相关的端口。 请参阅此论坛主题,以及RDS 2012部署使用哪些端口? 在Technet上。

但是,在我的情况下,问题出在许可证服务器上的本地安全策略,特别是“用户权限分配”下的“从networking访问此计算机”选项。 虽然看起来没有文档logging,但必须明确或间接地授予代表远程桌面服务器的Active Directory计算机对象的权利。 (默认设置包括Everyone,这足以使远程桌面许可生效。)

一旦授予此访问权限,下一个远程桌面login导致创build丢失的X509证书registry项,事件ID 1130停止出现。

您还应该检查“拒绝从networking访问此计算机”设置(优先级)以及可能对授权服务器进行的任何其他configuration更改,这可能会影响远程桌面服务器build立IPClogin的能力。 许可服务器上的安全事件日志可能有助于确定IPClogin是否成功。


补充笔记:

  • 如果您的某个远程桌面服务器遇到此类问题或任何类似问题,则仍然可以使用以下命令行进行远程login以进行故障排除:

     mstsc /admin /v:servername 
  • 如果问题中的链接失效,则可以通过删除该键中的REG_BINARY值来重置宽限期作为临时解决方法:

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod 

    (这当然是不支持的,只能在适当的谨慎下使用,风险自负。)

  • 如果您遇到同样的问题,但由于我的自我回答未涵盖的原因,请张贴另一个答案(最好)或评论。 提前致谢!