我们前面介绍了如何实现Windows Server的多用户登录(Windows Server调整策略实现999999个远程用户用时登录),但是有一个实用性的问题,那就是只有119天的临时授权,就像一把悬在头顶的达摩克利斯之剑,时刻提醒我授权即将到期。比如我现在登录时,就会冒泡提醒我,“远程桌面服务将在65天后停止工作”。
购买正版授权固然是正道,但对于测试、学习或某些你懂的场景,有没有一种方法能再借五百年?今天,我就揭秘一个通过修改注册表和系统时间,为RDP服务强行续命的奇妙技巧。具体做法如下:
首先,按win+R组合键,打开“运行”,输入regedit打开注册表编辑器。
然后找到GracePeriod注册表,这个键值与远程桌面服务的授权有关,特别作用于存储某种类型的宽限期信息。
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
可以看到,该注册表项下面有一个二进制注册表数据,我们只要删掉这一项就可以了。但是,如果我们是首次操作的话,一般是没有权限的,需要右击GracePeriod选择“权限”变更注册表的权限。
一般情况下,选中Administrators用户组,勾选“完全控制”后面的“允许”就可以了。
但是不排除有例外,比如我们的服务器是加了AD域的,此时该注册表的权限就不属于Administrators用户组了,操作时就会拒绝访问。
此时我们点击修改权限对话框中的“高级”,进入高级安全设置。
可以看到,现在该注册表项的所有者是NETWORK SERVICE,而Administrators用户组只有读取权限,无法修改。所以只要将所有者变更为Administrators用户组就好了。
这样,我们就有操作权限,接下来,只要删除GracePeriod注册表项下面的二进制注册表数据就行了。
删除掉之后,重启服务器,重启之后,授权有效期就重新变成119天了。
如果感觉还是不爽怎么办?修改注册表之后,在重启服务器之前,我们将系统时间修改的尽量靠后。在系统设置中,支持配置的最晚时间是2054年。
而在控制面板中,目前系统支持的最晚时间是2099年12月31日。不过时间修改的这么靠后,也会影响部分系统策略,可能他都没有想到自己能运行到22世纪。
然后重启服务器,此时因为时间差的问题,已经无法登录了。
那我们就改个十年后的时间吧,谁也不敢保证自己的Windows Server能跑十年吧?
可以看到,现在的过期时间是2034年3月7日后的119天。
这个方法的核心在于欺骗时间:通过修改系统时间触发授权机制的BUG,再利用注册表清除宽限期记录,从而将119天的倒计时重置甚至大幅延长。然后我们再将时间改回来,重启服务器。
通过一番操作,你的RDP授权有效期可能会被延长到一个惊人的数字(比如3771天),然后默默等它报废就行了。
然而,必须指出,这终究是一个权宜之计,主要用于临时应急和学习研究。 修改系统时间可能会影响依赖时间的应用程序和服务,且此法未必适用于所有系统版本。对于生产环境,购买合法授权仍是唯一稳妥、推荐的选择。
声明:来自铁军哥,仅代表创作者观点。链接:https://eyangzhen.com/4436.html