如何确认远程端口号,参考https://cloud.tencent.com/developer/article/1871411
如何修改远程端口号,参考https://cloud.tencent.com/developer/article/1557774
建议搞个定期重启远程服务的计划任务,可以用schtasks命令创建,
参考
https://www.robvanderwoude.com/schtasks.php
https://docs.microsoft.com/en-us/windows/win32/taskschd/schtasks
https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/administration/windows-commands/schtasks-create.md
添加一个每隔一段时间就重启机器的计划任务,一句命令搞定计划任务添加
例如如果重启机器,建议设置凌晨定时重启,例如:
每天2点触发后、每隔1439分钟(23小时59分)重启一次机器
代码语言:bash复制schtasks.exe /CREATE /ru system /rl highest /SC DAILY /MO 1 /TN restart_computer /TR "shutdown -r -t 0" /ST 02:00 /f /RI 1439 /DU 24:00
每隔一段时间重启远程服务的计划任务也是个思路,但不太建议,因为微软的远程服务健壮性太一般了,在一定概率会在重启远程服务的过程中卡住
①每天2点触发后、每隔120分钟(2小时)重启一次远程服务
代码语言:bash复制schtasks.exe /CREATE /ru system /rl highest /SC DAILY /MO 1 /TN restart_rdp_service /TR "powershell.exe -c '& {restart-service termservice -force}'" /ST 02:00 /f /RI 120 /DU 24:00
②每天2点触发后、每隔1439分钟(23小时59分)重启一次远程服务
代码语言:bash复制schtasks.exe /CREATE /ru system /rl highest /SC DAILY /MO 1 /TN restart_rdp_service /TR "powershell.exe -c '& {restart-service termservice -force}'" /ST 02:00 /f /RI 1439 /DU 24:00
如果是临时重启远程服务,一般从服务列表重启很方便
运行services.msc打开服务列表找到remote desktop services服务,点重启动 → 弹窗后点"是"
如果是命令行重启,以管理员身份运行
powershell -c "& { restart-service termservice -force}"
如果重启服务过程出现异常,比如停止不了服务,此时可以用taskkill命令结束进程(远程服务是TermService)
tasklist /svc /fi "imagename eq svchost.exe"
taskkill /f /pid 后面跟远程服务的pid
tasklist /svc|findstr "Term"
查pid的办法比较多,也可以执行sc.exe queryex termservice来查看pid,这种办法尤其适用远程服务异常时重启远程服务卡住的情况,如下图中STOP_PENDING的状态,先得到pid,taskkill /f /pid 1448成功后再切换到powershell命令行执行重启远程服务的命令powershell -c "& { restart-service termservice -force}"
如果用taskkill也结束不了进程,或者结束进程后还是没法再次启动服务,那就没办法了,只能重启机器