今天想偷懒,打算在远程桌面的主机上写一条自动关闭远程桌面的bat,运行能自动关闭远程桌面。
前面几次运行关闭成功,不过关闭后等待了几十秒才能继续连接。
尝试四次后,终于无法连接上目标主机远程桌面了。
自动关闭远程桌面cmd一句话如下:
for /f "tokens=5" %a in ('netstat -ano^|find "192.168.0.93"') do taskkill /f /pid %a
此命令是用for调用端口中查找到的目前正在连接的远程桌面的端口pid,再将调用来的pid的对应进程强制结束掉,从而达到结束远程桌面的目的。
结果是极其悲惨的,尝试多次后终于中枪了,远程桌面永远也无法连接上,目的端口3389未开放。
只能跑去服务端电脑面前进去看发生了什么。
首先,查看到目前tcp协议中3389端口的确关闭了。
再通过查看本地3389其它协议端口连接数同样并没有任何开放的痕迹,由此可以断定远程桌面服务已蹦。
通过系统日志查看到ID为“7034”的事件中,服务“Remote Desktop Services”意外停止三次,期间相关联的三个服务也意外停止3次。
查看当前意外停止时和正常启动后的服务显示名称对比图发现,显示名称为“Remote Desktop Services”的服务确实未开启。
由此,通过服务管理器找到“Remote Desktop Services”的显示名称对应的服务名称为“TermService”。(此截图是启动服务后的截图,仅供查看服务名称使用,请忽略服务已启用的状态。)
启动名称为“TermService”的服务后本地3389端口终于正常打开。
由此手动修复成功,成功进入到远程桌面登录界面。