Скрипт автоотключения для перезапуска Сервиса в определенное время

582
Rili Toma

ПК на моем рабочем месте имеет удаленный рабочий стол Chrome и позволяет мне удаленно работать дома. Иногда происходит сбой программы, и мне требуется вручную перезапустить службу, чтобы она снова заработала (Диспетчер задач -> Службы -> щелкните правой кнопкой мыши службу -> Перезагрузить).

Очевидно, что многие рекомендации Autohotkey в Интернете предназначены для перезапуска программы exe вместо службы. Я хотел бы знать, есть ли способ превратить его в сценарий и позволить Autohotkey автоматически завершать работу службы и перезапускать ее в 8 утра каждый день?

0

2 ответа на вопрос

0
JJohnston2

Вы пытались настроить параметры восстановления службы, чтобы она просто перезапускала службу в случае сбоя? Я могу представить себе сценарий, в котором это может работать неправильно, но если Windows обнаружит, что служба не работает, она может перезапустить ее автоматически, не требуя отдельного сторожевого таймера.

В Windows 7 вы можете открыть список служб следующим образом:

  • Панель управления> Администрирование> Сервисы
  • Или просто запустите "services.msc" из диалогового окна запуска

Как только список сервисов активен, найдите интересующую позицию и откройте свойства для этого сервиса.

На вкладках вверху выберите Восстановление.

Для вариантов восстановления вы можете установить для всех 3 раскрывающихся списков для 1-го, 2-го и последующих сбоев значение «Перезапустить службу».

Привет, JJognston2, текущая настройка уже «Перезапустить службу» для всех 3 сбоев. Что заставляет меня думать, что сбой удаленного рабочего стола Chrome не связан с его фоновым обслуживанием, возможно, само программное обеспечение имеет недостатки. Тем не менее, спасибо за ваш совет! Rili Toma 8 лет назад 0
0
user3419297

Попробуйте также это (запустите скрипт от имени администратора):

; Replace "Service name" with the service name you want restart.  ; Make sure that you are using the correct service name  ; shown in the properties for that service (not the Display name).  #Persistent SetTimer, restart_Service, 10000 return  restart_Service: time = %A_Hour%%A_Min% If (time = 0800) {  SetTimer, restart_Service, off ; Stop the service RunWait, %comspec% /c "net stop Service name",, Hide  Sleep, 10000 ; Wait 10 seconds for the service to stopp (Just to be sure) ; Start the service  RunWait, %comspec% /c "net start Service name",, Hide  Sleep, 700000 ; sleep the rest of the 08:00 time. SetTimer, restart_Service, on } return 
Эй спасибо! Это на самом деле работает, если я запускаю autohotkey exe от имени администратора. Rili Toma 8 лет назад 0