如何重启远程服务

2024-04-23 18:32:00 浏览数 (1)

如何确认远程端口号,参考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也结束不了进程,或者结束进程后还是没法再次启动服务,那就没办法了,只能重启机器

0 人点赞