由于没有远程桌面授权服务器可以提供许可证,远程会话被中断的根本解决方法

Windows server 2012服务器远程桌面登录时出现错误提示:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系。此时可以使用mstsc /admin /v:目标ip来强制登录服务器,但只能是管理员身份

Windows server 2012服务器远程桌面登录时出现错误提示:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系。”此时可以使用“mstsc /admin /v:目标ip”来强制登录服务器,但只能是管理员身份。

由于没有远程桌面授权服务器可以提供许可证,远程会话被中断的根本解决方法-1.png (9.78 KB, 下载次数: 0)

2019-4-22 21:17 上传

按照网上说的某种方法,删除注册表以下项:HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing。

并不能解决问题,之后出现了新的错误提示,如第二个图:“远程会话已断开连接,因为访问被拒绝导致许可证存储的创建失败。请使用提升的权限运行远程桌面客户端。”

由于没有远程桌面授权服务器可以提供许可证,远程会话被中断的根本解决方法-2.png (10.18 KB, 下载次数: 0)

2019-4-22 21:17 上传

微软官方的解释是:

微软官方的解释:

原因:

因为 Windows 应用商店的应用程序不具有足够的权限来访问的MSLicensing注册表项或子项存储区,则会出现此问题。因此,当应用程序连接到远程服务器时,远程桌面 ActiveX 接口在进程内 COM 对象无法访问注册表,并停止连接过程。

解决方案:

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,可能会出现的严重问题。这些问题可能要求您重新安装操作系统。Microsoft 不能保证这些问题能够得到解决。修改注册表的风险由您自己承担。 - -!汗。。。。。

下载自动修复程序:点我下载

手工修复步骤:

1.启动注册表编辑器。若要执行此操作,请按照下列步骤操作:

a.触摸屏幕的右边,然后点击搜索。或者,如果您使用鼠标,指向屏幕的右下角,然后单击搜索。

b.在搜索框中,键入regedit.exe。

c.点击或单击显示的regedit.exe图标。

2.配置MSLicensing注册表项的权限。若要执行此操作,请按照下列步骤操作:

a.找到下面的注册表子项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing

b.用鼠标右键单击MSLicensing键,然后单击权限。

c.点击添加,在选择用户或组对话框中,点击或单击位置。

d.选择顶部的列表中的本地计算机,然后点击或单击确定。

e.在输入对象名称来选择框中键入以下值:应用程序的所有包

f.点击或单击确定。

g.请确保读取权限才能启用”所有应用程序软件包”,然后点击或单击确定。

3.配置存储注册表项的权限。若要执行此操作,请按照下列步骤操作:

a.找到下面的注册表子项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Store

b.鼠标右键单击存储密钥,然后点击权限。

c.点击或单击添加。在选择用户或组对话框中,点击或单击位置。

d.选择顶部的列表中的本地计算机,然后点击或单击确定。

e.在输入对象名称来选择框中键入以下值:

应用程序的所有包

f.点击或单击确定。

g.请确保启用”所有应用程序软件包”的读取权限。

h.点击或单击高级。

i.在下的权限选项卡上,选择该条目的所有应用程序软件包,,然后点击或单击编辑。

j.存储区的权限项目窗口中,请点击或单击显示高级权限链接。

k.请确保选中下面的四个复选框:

查询值

设置值

创建子项

枚举子项

l.点击或单击确定三次。

4.退出注册表编辑器。微软官方的解释:

原因:

因为 Windows 应用商店的应用程序不具有足够的权限来访问的MSLicensing注册表项或子项存储区,则会出现此问题。因此,当应用程序连接到远程服务器时,远程桌面 ActiveX 接口在进程内 COM 对象无法访问注册表,并停止连接过程。

解决方案:

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,可能会出现的严重问题。这些问题可能要求您重新安装操作系统。Microsoft 不能保证这些问题能够得到解决。修改注册表的风险由您自己承担。

google得到最终的解决办法:

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.

根本原因在于,server 2012 或server 2008等默认的最大远程登录链接为2个,超过这个数目需要使用license server进行授权,这个授权据说是收费的,但官方给予了120天的Grace period来配置license server。如果超过120天后仍然没有可用的license server,就会出现第一种错误。而这个Grace period信息记录在上文的注册表中,因此只要删除注册表中的项(需要修改此注册表项权限所有者为Administrators,给Administrators增加修改权限),重启服务器就可以了。还有人提到可以修改系统时间为将来,然后删除注册表,再把系统时间改回来,这样可以获得更长的Grace period。此方法适用于server2012,应该也适用于2008,但2003没有测试过。

参考微软官方文档的解释便一目了然:

https://technet.microsoft.com/en-us/library/cc725933.aspx
当然,除了修改注册表的投机取巧的办法,也可以部署license server(server 2008)或部署license server及remote desktop gateway(server2012),2012相比2008有比较大的变动,配置起来也更麻烦,感兴趣的可以参考如下链接:
http://www.wackytechtips.com/installing-and-configuring-remote-desktop-services-rds-on-windows-server-2012/3/