Anzeige

Am Puls von Microsoft

Anzeige

Dienst beenden mit Batch-Datei

Winup

treuer Stammgast
Hallo,

Der Dienst Agent.exe ist auf manuell gestellt.
Wenn der Diesnt gestartet ist, möchte ich ihn mit Hilfe einer Batch Datei wieder beenden.

Folgendes habe ich versucht
Code:
wmic process where name="Agent.exe" call terminate

und folgendes:
Code:
taskkill /F /IM Agent.exe

Die Batch-Datei starte ich als Administrator.

Beides scheint grundsätzlich zu funktionieren, aber unmittelbar danach startet der Dienst sofort wieder neu.

Wie kann ich diesen Dienst dauerhaft beenden?

Für Hilfe wäre ich dankbar.

Winup
 
Anzeige
Hallo Winup,
da hast Du ja schon Dein nächstes Thema geöffnet. Was führt bei Dir der Dienst Agent.exe aus und zu welchem Programm gehört dieser?
 
Zuletzt bearbeitet:
Im alllgemeinen beendet man Dienste mit: net stop dienstname wenn dabei noch eine Abfrage kommt, ob Abhängigkeitsdienste mit beendet werden sollen, dann nutzt man net stop /y dienstname. Allerdings werden viele Dienste dann automatisch wieder gestartet, wenn die darauf aufsetzende Komponente erkennt, dass der Dienst nicht läuft.
 
Hallo,

Der Dienst Agent.exe ist auf manuell gestellt.
...
Wie kann ich diesen Dienst dauerhaft beenden?

Hallo Winup,
Dann musst schauen, dass die RecoveryActions nicht auf Restart stehen:
https://stackoverflow.com/questions/9267639/set-remote-services-recovery-options-using-powershell

oder services.msc -> <servicename> -> Rechtsklick -> Eigenschaften -> Recovery
https://stackoverflow.com/questions/19541625/how-to-get-win32-service-recovery-tab-properties

lg sneaker
 
Vielen Dank für das grosse Echo.

Was führt bei Dir der Dienst Agent.exe aus und woher hast Du diesen bezogen?

Dieser Dienst wurde durch "EaseUS Todo Backup Home 9" installiert und wird von diesem Programm benötigt. Wenn ich das Programm schliesse, möchte ich, dass auch dieser zugehörige Dienst geschlossen wird.

Im alllgemeinen beendet man Dienste mit: net stop dienstname wenn dabei noch eine Abfrage kommt, ob Abhängigkeitsdienste mit beendet werden sollen, dann nutzt man net stop /y dienstname.

Versuch mit net stop Dienstname geht nicht:
-> click -> net stop fehler.PNG

Obwohl der Pfad stimmen sollte:
Agent Eigenschaften Pfad.PNG

Allerdings werden viele Dienste dann automatisch wieder gestartet, wenn die darauf aufsetzende Komponente erkennt, dass der Dienst nicht läuft.

Wenn ich das richtig interpretiere, sollte das doch hier nicht der Fall sein Oder?
Dienst Abhängigkeit.PNG

Zitat von sneaker:
Dann musst schauen, dass die RecoveryActions nicht auf Restart stehen:
https://stackoverflow.com/questions/...ing-powershell

oder services.msc -> <servicename> -> Rechtsklick -> Eigenschaften -> Recovery
https://stackoverflow.com/questions/...tab-properties

Das sollte aber hier auch kein Hindernis sein. Oder:
Dienst Wiederherstellung.PNG

Irgendwie klappt es aber trotzdem nicht.
 
Du musst selbstverständlich den Dienstnamen ermitteln und diesen bei "net stop" verwenden. Also den Namen, den das System für den Dienst verwendet. Die Befehlszeile: wmic service get caption, name nennt Dir in einer Eingabeaufforderung sämtliche Dienste und in der darauf folgenden Zeile auch den bei "net stop" zu verwendenden Dienstnamen.
 
OK Danke.

nächster Versuch: Schon besser, aber eben auch nicht erfolgreich:
-> click-> Dienst konnte nicht beendet werden.PNG

Weshalb startet der Dienst sofort automatisch wieder?

Natürlich habe ich cmd als Administrator gestartet. Auch das Programm ist beendet. Und wie man weiter oben sieht, hat dieser Dienst auch keine Abhängigkeiten.

Es ist auch nichts verdächtiges im Autostart zu finden.
 
Also ich würde ja "EaseUS Todo Backup Home 9" komplett deinstallieren.
Es macht keinen Sinn, ein Programm installiert zu lassen, das man dann absichtlich beschädigt.

Gerade bei einem Backup-Programm wäre ich da besonders zurückhaltend. Du willst ja sicher nicht, daß Du im Notfall eine nicht funktionierende Backup-Datei hast.

Wenn du nach der Deinstallation nach wie vor Backups mit diesem Programm machen willst, kannst Du ja versuchen, ein Recovery Medium (oder wie auch immer das bei EaseUs heißt), also eine CD oder USB-Stick zu erstellen und damit Backups machen.
 
Hallo Winup,
"Dienst konnte nicht beendet werden" und "Dienst startet automatisch sofort wieder" sind zwei verschiedene Dinge.
Manche Dienste wollen sich eben nicht mehr schließen lassen, wenn sie mal gestartet sind.

lg sneaker
 
Zuletzt bearbeitet:
Irgendwie klappt es aber trotzdem nicht.
Kann so auch nicht klappen, deswegen hatte ich SC verlinkt.

Dennoch - Todo Backup ist viel zu komplex, als dass man mal eben mit den Diensten jonglieren könnte.

Warum dieses Programm dann unbedingt auch noch eine Aufgabenplanung beinhalten muss, was für eine Frechheit. Kann man doch alles mit Batch lösen.

:wand
 
Danke. Ich habe im Link folgendes gefunden:

Deletes a service subkey from the registry. If the service is running or if another process has an open handle to the service, then the service is marked for deletion.
Top of page
Syntax

sc [ServerName] delete [ServiceName]

Ob das das ist, was ich brauche? Und wie finde ich heraus, was ich bei [ServerName] eintragen muss?

Dennoch - Todo Backup ist viel zu komplex, als dass man mal eben mit den Diensten jonglieren könnte.
Könnte sein. Ich kann das nicht abschätzen.
Natürlich müsste man dann testen, ob Todo noch richtig funktioniert. Wenn man danach das Backup checkt und es keine Fehlermeldung gibt, dann wird das Backup ja sicher auch wiederherstellbar sein.



Die Aufgabenplanung kann eine gute Sache sein. Ich nutze die Aufgabenplanung jedoch nicht, sondern starte jeweils manuell. (Immer dann, wenn ich am Computer gerade mit einem bestimmten nicht ressourcenfressenden Programm arbeite, so dass nebenbei genügend Ressourcen für das Backup übrig bleiben.)
(Todo Backup sieht die Möglichkeit vor im Anschluss an das Backup eine Batch-Datei zu starten. Diese Möglichkeit nutze ich.)

Wenn das Backup zu Ende ist, wird dann automatisch meine Batch-Datei gestartet. Diese schliesst Todo Backup automatisch und wirft die externe Festplatte automatisch aus. Das funktioniert alles. Was eben noch fehlt, ist das Beenden des Dienstes nach Erledigung des Backups.

Beim Start des Computers ist dieser Dienst jeweils nicht gestartet. Erst nach Start von Todo Backup lässt er sich nicht mehr beenden. Auch nicht wenn Todo Backup geschlossen wurde und auch nicht manuell.
 
Zuletzt bearbeitet:
@Winup
Der Befehl lautet wie folgt:
Code:
sc stop "EaseUS Agent"
Bitte ändere auch mal das was ich im Screenshot angegeben habe.
 

Anhänge

  • EaseUSAgentService.jpg
    EaseUSAgentService.jpg
    97,2 KB · Aufrufe: 293
@skorpion68

Danke. Ich habe das auch mal ausprobiert.
Wenn ich keine Änderung gemäss Screenshot vornehme:
Diesmal steht im Taskmanager neben dem Dienst wirklich für ein paar Sekunden "Beendet". Dann startet der Dienst wieder.

Mit Änderung gemäss Screenshot:
Der Dienst wird unverzüglich wieder gestartet ohne dass im Taskmanager je das Wort "Beendet" sichtbar wird.


@.Bernd


Ich weiss nicht was Du mit Deinen Links sagen willst.
Hier wird doch beschrieben, wie man ein Boot-Medium erstellt. Ein Boot-Medium habe ich schon. Vielleicht willst Du mir sagen, ich solle das Backup jeweils mit der Boot-Disk erstellen, dann würde ich mir die Bastelei mit dem Dienst sparen?

Wenn ich die Wahl hätte zwischen:
-Dienst ist weg, da EaseUS Todo deinstalliert, dafür muss immer das Boot-Medium verwendet werden und
-Dienst ist immer da, dafür muss ich nicht das Boot-Medium verwenden um das Backup zu machen

würde ich Variante 2 wählen.

Und wie oben gesagt:
Falls es gelingt, den Dienst jeweils zu beenden, müsste man dann natürlich überprüfen, ob die auf diese Weise erstellten Backups dann in Ordnung sind. (Also der Dienst startet ja sowieso jeweils beim Starten von EaseUS Todo automatisch (ist ja auf manuell). Wenn er deaktiviert ist, lässt sich EaseUS Todo gar nicht starten.)
 
Naja Du könntest auch in einer Batch mit Sc den Dienst jeweils umkonfigurieren und starten bzw. beenden und dazwischen Todo Backup laufen lassen. Das ginge ja ebenfalls. Der Batch würde dann eben etwas umfangreicher ausfallen, aber Du könntest so jeweils den Dienst auf manuell setzen, ihn starten und nach Todo Backup den Dienst wieder auf deaktiviert setzen und beenden. Den Batch kann man solange warten lassen, bis Todo Backup beendet wurde, damit er im Anschluss den Dienst wieder auf deaktiviert setzt und beendet. Dann startest Du Todo Backup eben immer damit, dass Du den Batch aufrufst.

Das wäre doch genau das, was Du die ganze Zeit beabsichtigst.
 
@Winup
Bin mir nicht ganz sicher ob @areiland es wie folgt meint:

1. EaseUS Agent Service aktivieren (Dienst - Starttyp: Manuell) und starten
Code:
sc config "EaseUS Agent" start= demand
sc start "EaseUS Agent"
2. EaseUS Agent Service deaktivieren (Dienst - Starttyp: Deaktiviert) und beenden
Code:
sc config "EaseUS Agent" start= disabled
sc stop "EaseUS Agent"

Bitte schaue aber vorher noch in die Aufgabenplanung (@.Bernd erwähnte diese in Beitrag #11) rein und überprüfe ob sich da nicht ein aktive Aufgabe von EaseUS Todo Backup befindet. Diese Aufgabe aktivierst bzw. deaktivierst Du z. Bsp. wie folgt:
Code:
SCHTASKS /Change /TN "\EaseUS Agent Service" /ENABLE
SCHTASKS /Run /TN "\EaseUS Agent Service"
Code:
SCHTASKS /Change /TN "\EaseUS Agent Service" /DISABLE
SCHTASKS /End /TN "\EaseUS Agent Service"
Sofern eine Aufgabe von EaseUS Todo Backup existiert solltest Du diese vorher aktivieren bzw. deaktivieren bevor Du den Dienst aktivierst bzw. deaktivierst.
 
@Skorpion68
Genau so meinte ich es. Zwischen 1. und 2. dann noch den Aufruf von Todo Backup gesetzt, schon passt es. Todo Backup muss dabei mit "start /wait Todo Backup" aufgerufen werden, damit der Batch pausiert bis Todo Backup beendet wird. Anschliessend wird eben Agent.exe vom Batch wieder auf "disabled" gesetzt und beendet.
 
Danke. Ja so will ich es haben.

Ich habe das gleich ausprobiert.

-In der Aufgabenplanung habe ich nichts gefunden was nach EaseUS Backup Todo aussieht.

-Das Deaktivieren und Beenden nach Backup Ende funktioniert. :)


Für das Aufrufen von Todo Backup (Start) will ich eine separate Batch-Datei verwenden. Und zwar habe ich die folgende Batch-Datei dafür vorgesehen:
Code:
sc config "EaseUS Agent" start= demand
sc start "EaseUS Agent"
@echo off
start "" "C:\Program Files\SuperMemo UX\supermemo.exe"
timeout /t 10
start "" "C:\Program Files\Todo Backup Home\bin\Loader.exe"

Idee:
Immer wenn ich mit Supermemo übe, soll im Hintergrund das Backup gestartet und durchgeführt werden. (Supermemo benötigt wenig Systemressourcen.)
10 Sekunden Time Out, damit der Dienst Zeit hat um zu starten.

Problem:
Die Dienste und Todo Backup sollen ja als Administrator gestartet werden. Suprmemo hingegen muss als user gestartet werden.

Gibt es eine Möglichkeit diese Befehle etwas umzumodeln, dass sie mit dem gewünschten Konto gestartet werden?
 
Ich würde es dann so machen:
Code:
runas /profile /user:Computer\Winup "C:\Program Files\SuperMemo UX\supermemo.exe"
Danach Passwort eingeben und los geht's.
 
Anzeige
Oben