由于工作原因,给一台服务器安装了windows server 2012的操作系统,然后用我自己的笔记本进行远程桌面没有什么问题,但是在我装好系统后的大约一周的时间,发现远程连接失败了。

Remote Desktop Services 重启_windows


就会弹出这个界面

当时我第一反应是服务器挂掉了,因为这个服务器比较老了,开机的时候容易在UEFI启动初始化卡住。

我赶紧和机房的值班人员联系,对方说服务器正在运行,并且是开机状态,我让他打开第三方远程软件,并且通过这个进行远程连接。

当我打开我的电脑-属性-远程后发现远程桌面变成不允许了

Remote Desktop Services 重启_windows_02


明明没有别人用过为什么会变成不允许呢?

并且当我选择允许的时候会弹出

Remote Desktop Services 重启_服务器_03


这是什么啊,为什么我之前开启远程就没问题呢

然后我就搜索和我情况相似的事情,还真的发现了一个帖子,虽然说是十年前的,但是还是给了我一个寻找原因的正确的方向

widows 远程桌面被自动关闭的原因

然后我就发现我的注册表:
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections 的值为1 (1为禁止远程桌面,0为允许)

然后我就开始寻找监控注册表工具,最后我找到了procmon.exe(process monitor)

我发现我的远程桌面被关闭了-注册表的数据被修改为1了

Remote Desktop Services 重启_远程桌面_04


我一查看进程,它是svchost.exe,PID是716,和它相关的服务有:System Events Broker、Power、PNP、LSM、DCOM等

这根本没办法结束啊,结束进程就会蓝屏重启,这就很郁闷了,进程没办法结束,它还总是修改我的注册表。

Remote Desktop Services 重启_服务器_05

后来我灵机一动,使用CMD的批处理命令自动让他修改注册表不就可以达到我的目的吗?

新建文本文档

:start 
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
goto start

保存 - 修改后缀成bat文件

运行这个文件,就可以一直开启远程桌面了。