Windows: Remotedesktopdienste via Befehl automatisch neu starten

Versucht man die Remotedesktopdienste z.B. in der Eingabeaufforderung oder von einem entfernten PC via PsExec neu zu starten, klappt das nur manuell. Möchte man den Vorgang Automatisieren ist ein kleiner Zusatz notwendig.

Verwendet man als Befehl

net stop TermService

erhält man folgende Abfrage:

Die folgenden Dienste hängen vom Dienst Remotedesktopdienste ab.
Das Beenden des Dienstes Remotedesktopdienste beendet auch diese Dienste.

Anschlussumleitung für Remotedesktopdienst im Benutzermodus

Möchten Sie diesen Vorgang fortsetzen? (J/N) [N]:

Ähnliches wird man gefragt, wenn man z.B. mittels der Computerverwaltung über die Dienste das Gleiche versucht. Für manuellen Eingriffe ist das soweit völlig in Ordnung, soll allerdings der Dienst-Neustart automatisch erfolgen, muss man zunächst den Dienst „Anschlussumleitung für Remotedesktopdienst im Benutzermodus“ (Dienstname: „UmRdpService“) beenden:

net stop UmRdpService
net stop TermService

In entsprechend umgekehrter Reihenfolge kann man die Dienste dann wieder starten

net stop TermService
net stop UmRdpService

Im Regelfall reicht es allerdings aus, lediglich die Remotedesktopdienste (neu) zu starten, der weitere Dienst wird dann automatisch mit gestartet.

Hinweis: Aktuell (Stand: 22.01.2021, Windows 10 Pro 2004) klappt das Beenden der Remotedesktopdienste leider nicht immer:

Remotedesktopdienste wird beendet.........................................................................
Remotedesktopdienste konnte nicht beendet werden.

Behelfen kann man sich so:

sc queryex TermService

Die Ausgabe sieht z.B. so aus:

SERVICE_NAME: TermService
TYPE : 30 WIN32
STATE : 3 STOP_PENDING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x1
WAIT_HINT : 0xea60
PID : 1252
FLAGS :

Mit Hilfe der „PID“ und des Befehls „taskkill“ kann der Prozess dann beendet werden:

taskkill /pid 1252 /f
ERFOLGREICH: Der Prozess mit PID 1252 wurde beendet.

Schneller zur „PID“ geht es so:

sc queryex TermService | find "PID"

Statt „net start“ bzw. „net stop“ kann man „sc“ verwenden:

sc stop UmRdpService
sc stop TermService

sc start TermService
sc start UmRdpService

Bei der Verwendung von „sc“ in Skripten ist allerdings zu beachten, das im Gegensatz zu „net“ nicht auf das Starten oder Beenden des Dienstes gewartet wird!

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.