Autohotkey-Skript zum Neustarten des Dienstes zu einem bestimmten Zeitpunkt

670
Rili Toma

Auf meinem PC an meinem Arbeitsplatz ist Chrome Remote Desktop installiert, so dass ich zu Hause remote arbeiten kann. Gelegentlich schlägt das Programm fehl, und ich muss den Dienst manuell neu starten, damit er wieder funktioniert (Task-Manager -> Dienste -> Rechtsklick auf Dienst -> Neustart).

Anscheinend gibt es viele Autohotkey-Anleitungen im Internet, um ein Exe-Programm anstelle eines Dienstes neu zu starten. Ich möchte wissen, ob es eine Möglichkeit gibt, das Skript in ein Skript umzuwandeln und Autohotkey den Dienst automatisch beenden und täglich um 8 Uhr neu starten zu lassen?

0

2 Antworten auf die Frage

0
JJohnston2

Haben Sie versucht, die Wiederherstellungseinstellungen des Dienstes so einzustellen, dass der Dienst bei einem Fehler neu gestartet wird? Ich kann mir ein Szenario vorstellen, in dem dies möglicherweise nicht ordnungsgemäß funktioniert. Wenn Windows jedoch feststellt, dass der Dienst fehlgeschlagen ist, kann er den Dienst automatisch neu starten, ohne dass ein separater Watchdog erforderlich ist.

In Windows 7 können Sie die Diensteliste wie folgt öffnen:

  • Systemsteuerung> Verwaltung> Dienste
  • Oder führen Sie einfach "services.msc" aus dem Ausführungsdialogfeld aus

Wenn die Serviceliste aktiv ist, suchen Sie nach der gewünschten Werbebuchung und öffnen Sie die Eigenschaften für diesen Service.

Wählen Sie auf den Registerkarten oben Recovery aus.

Für Wiederherstellungsoptionen können Sie dann alle 3 Dropdown-Listen für 1., 2. und nachfolgende Fehler auf "Dienst neu starten" setzen.

Hallo JJognston2, die aktuelle Einstellung ist für alle 3 Fehler bereits "Restart the Service". Was mich jetzt zu der Meinung bringt, dass der Chrome-Remote-Desktop-Fehler nicht auf seinen Hintergrunddienst zurückzuführen ist, ist möglicherweise die Software selbst fehlerhaft. Trotzdem danke für deinen Rat! Rili Toma vor 8 Jahren 0
0
user3419297

Versuchen Sie auch folgendes (führen Sie das Skript als Administrator aus):

; 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 
Hey danke! Das funktioniert eigentlich, wenn ich als Administrator das Autohotkey-Exe ausführe. Rili Toma vor 8 Jahren 0