由于工作原因,给一台服务器安装了windows server 2012的操作系统,然后用我自己的笔记本进行远程桌面没有什么问题,但是在我装好系统后的大约一周的时间,发现远程连接失败了。
就会弹出这个界面
当时我第一反应是服务器挂掉了,因为这个服务器比较老了,开机的时候容易在UEFI启动初始化卡住。
我赶紧和机房的值班人员联系,对方说服务器正在运行,并且是开机状态,我让他打开第三方远程软件,并且通过这个进行远程连接。
当我打开我的电脑-属性-远程后发现远程桌面变成不允许了
明明没有别人用过为什么会变成不允许呢?
并且当我选择允许的时候会弹出
这是什么啊,为什么我之前开启远程就没问题呢
然后我就搜索和我情况相似的事情,还真的发现了一个帖子,虽然说是十年前的,但是还是给了我一个寻找原因的正确的方向
然后我就发现我的注册表:
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections 的值为1 (1为禁止远程桌面,0为允许)
然后我就开始寻找监控注册表工具,最后我找到了procmon.exe(process monitor)
我发现我的远程桌面被关闭了-注册表的数据被修改为1了
我一查看进程,它是svchost.exe,PID是716,和它相关的服务有:System Events Broker、Power、PNP、LSM、DCOM等
这根本没办法结束啊,结束进程就会蓝屏重启,这就很郁闷了,进程没办法结束,它还总是修改我的注册表。
后来我灵机一动,使用CMD的批处理命令自动让他修改注册表不就可以达到我的目的吗?
新建文本文档
:start
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
goto start
保存 - 修改后缀成bat文件
运行这个文件,就可以一直开启远程桌面了。