shutdown.exe remote ausführen

Man arbeitet regelmäßig via RDP-Sitzung auf einem Remote-PC und plötzlich funktioniert der RDP-Verbindungsaufbau nicht mehr, weil zum Beispiel der RDP-Dienst auf dem Remote-Rechner nicht mehr läuft!? Man möchte aus der Ferne nun die Maschine neu starten. Aber wie? Ebenso hat man es versäumt Powershell-Remote einzurichten (über das Powershell-Cmdlet Restart-Computer wäre der Neustart nämlich sehr einfach)…

Eine Idee könnte sein dafür das klassische Cmd-Tool shutdown.exe zu verwenden. Dieses bietet zwar über den Parameter /m an einen Remote-PC anzugeben, jedoch fehlt die häufig benötigte Möglichkeit den Benutzer-Kontext (Credentials) anzugeben, da die Restart- oder Shutdown-Funktion Administrator-Rechte benötigt.

Mit Hilfe eines Tricks können wir dies jedoch ermöglichen. Hierzu müssen wir vor der Ausführung von shutdown.exe eine sogenannte Null-Session verwenden, bei der wir die Zugangsdaten mitgeben können. In der Eingabeaufforderung folgende Befehle eingeben:

NET USE \\RemotePC\IPC$ /USER:remoteusername

Statt RemotePC den Hostnamen oder die IP-Adresse der entfernten Maschine und statt remoteusername den Benutzer mit Adminrechten in Form von PCName\Username angeben.

Nach dem Absenden wird man aufgefordert das Kennwort einzugeben. Nun kann man direkt shutdown.exe ausführen, dass nun unter dem bei NET USE angegebenen User-Kontext ausgeführt wird.

shutdown /r /f /t 0 /m \\RemotePC

Mit dem Parameter /r wird ein Neustart durchgeführt. Alternativ könnte /s für einen Shutdown verwendet werden – dann wäre der Remote-PC jedoch aus! Mit /f wird Erzwungen, dass Anwendungen ohne Vorwarnung geschlossen werden. /t 0 gib an, dass nach 0 Sekunden die Aktion durchgeführt wird. Mit dem Parameter /m gebt ihr den Namen des entfernten PCs an.

Beispiel:

NET USE \\192.168.1.10\IPC$ /USER:Server1\Administrator

shutdown /r /f /t 0 /m \\192.168.1.10

Kommentare sind geschlossen