Сценарій автоматичної клавіші для перезапуску служби в певний час


0

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

Мабуть, велика кількість вказівок Autohotkey в Інтернеті призначена для перезавантаження програми exe замість служби. Мені хотілося б знати, чи є спосіб перетворити його в сценарій і дозволити Autohotkey автоматично вбивати службу та перезапускати її щодня ранку?

Відповіді:


0

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

У Windows 7 ви можете відкрити список послуг таким чином:

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

Щойно список послуг активний, знайдіть позицію, що цікавить, та відкрийте властивості цієї послуги.

На вкладках у верхній частині виберіть Відновлення.

Для параметрів відновлення ви можете встановити всі 3 спаду для 1-го, 2-го та наступних відмов на "Перезапустити службу"


Привіт, JJognston2, поточне налаштування вже є «Перезапустіть сервіс» для всіх 3 відмов. Що зараз наштовхує мене на думку про те, що вихід з ладу на віддалений робочий стіл хромований не пов’язаний із його фоновим сервісом, можливо, саме програмне забезпечення є помилковим. Все-таки дякую за пораду!
Рілі Тома

0

Спробуйте також це (запустіть сценарій як адміністратор):

; 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 як адміністратор.
Рілі Тома
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.