问题:
Windows server 2012服务器远程桌面登录时出现错误提示:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系。
出现这个报错的原因有两种:
系统添加了“远程桌面会话主机”角色后,该授权到期(可以免费试用120天,到期需要付费才能使用;不添加该角色,服务器只能有最多2个授权连接);
该账号已经有人登录,由于终端服务配置 RDP-Tcp 限制了每个用户只能进行一个会话,所以其他会话无法建立。
微软官方的解释:
原因:
因为 Windows 应用商店的应用程序不具有足够的权限来访问的MSLicensing注册表项或子项存储区,则会出现此问题。因此,当应用程序连接到远程服务器时,远程桌面 ActiveX 接口在进程内 COM 对象无法访问注册表,并停止连接过程。
解决方案:
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,可能会出现的严重问题。这些问题可能要求您重新安装操作系统。Microsoft 不能保证这些问题能够得到解决。修改注册表的风险由您自己承担。
The solution was to delete the REG_BINARY in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
Only leaving the default.
And reboot.
来源于http://anilgprabhu.blogspot.com/2014/05/reset-trial-terminal-license-on-windows.html
根本原因在于,Windows server 默认的最大远程登录链接为2个,超过这个数目需要使用license server进行授权,这个授权据说是收费的,但官方给予了120天的Grace period来配置license server。如果超过120天后仍然没有可用的license server,就会出现第一种错误。而这个Grace period信息记录在上文的注册表中,因此只要删除注册表中的项(需要修改此注册表项权限所有者为Administrators,给Administrators增加修改权限),重启服务器就可以了。
还有人提到可以修改系统时间为将来,然后删除注册表,再把系统时间改回来,这样可以获得更长的Grace period。此方法适用于server 2012,也适用于Server 2016。
参考微软官方文档的解释便一目了然:
Overview of Remote Desktop Licensing | Microsoft Learn
解决步骤:
1.临时登录系统
使用“mstsc /admin /v:目标ip”来强制登录服务器,但只能是管理员身份。
2.延长Grace period
删除 GracePeriod 注册表键(对应注册表全路径):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\RCM\GracePeriod
百度出来的方法一般是图形界面,可能权限不足
1)下载微软“Windows Resource Kits”中的
subinacl
工具。(散列计算工具)
2)以管理员权限打开 cmd.exe ,然后复制粘贴下面的
subinacl
、
reg
命令
#::第1步:更改 GracePeriod 的所有者为 administrators
subinacl /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /setowner=administrators
#::第2步:设置 GracePeriod 为 administrators 完全控制
subinacl /subkeyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /grant=administrators=f
#::第3步:删除 GracePeriod
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod" /f
3)重启远程桌面服务“Remote Desktop Services” 或者重新启动计算机
4)完成
版权归原作者 Menimeky 所有, 如有侵权,请联系我们删除。