Systemadministratoren müssen Windows-Computer häufig aus der Ferne neu starten, um sie zu warten, zu aktualisieren oder Fehler zu beheben. PowerShell bietet mehrere effiziente Methoden, um diese Aufgabe zu erfüllen. In diesem Artikel werden sechs effektive Techniken zum Remote-Neustart von Windows-Computern mithilfe von PowerShell untersucht, die von einfachen Cmdlets bis hin zu fortgeschritteneren Ansätzen reichen.
Voraussetzungen für den Remote-Neustart
Bevor Sie versuchen, einen Remote-Windows-Computer neu zu starten, stellen Sie sicher, dass Sie Folgendes haben:
- Ein Benutzerkonto mit lokalen Administratorrechten auf dem Remotecomputer.
- PowerShell oder PowerShell Core auf Ihrem lokalen Computer installiert.
- Die Windows-Remoteverwaltung (WinRM) wird über die Firewall des Remotecomputers konfiguriert und zugelassen.
- Windows Management Instrumentation (WMI) ist über die Firewall des Remotecomputers zulässig.
Es ist außerdem wichtig, sicherzustellen, dass das Remote-System nicht bereits auf einen Neustart wartet, bevor Sie mit Neustartbefehlen fortfahren.
Methode 1: Verwenden des Restart-Computer-Cmdlets
DerRestart-ComputerDas Cmdlet ist die einfachste und flexibelste Methode zum Neustarten entfernter Windows-Computer.
Schritt 1:Öffnen Sie PowerShell als Administrator auf Ihrem lokalen Computer.
Schritt 2:Verwenden Sie den folgenden Befehl, um einen einzelnen Remotecomputer neu zu starten:
Restart-Computer -ComputerName "RemotePC" -Force
Ersetzen Sie „RemotePC“ durch den tatsächlichen Namen oder die IP-Adresse des Remote-Computers, den Sie neu starten möchten.
Schritt 3:Um mehrere Computer parallel neu zu starten, können Sie den folgenden Befehl verwenden:
$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 3
Dieser Befehl nutzt die Parallelverarbeitungsfunktionen von PowerShell, um mehrere Computer gleichzeitig neu zu starten, mit einem Drosselungslimit von 3, um die Ressourcennutzung zu steuern.
Methode 2: Nutzung von Invoke-CimMethod
DerInvoke-CimMethodDas Cmdlet verwendet Windows Management Instrumentation (WMI), um das Remotesystem neu zu starten.
Schritt 1:Öffnen Sie PowerShell als Administrator.
Schritt 2:Führen Sie den folgenden Befehl aus:
Invoke-CimMethod -ComputerName "RemotePC" -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
Ersetzen Sie „RemotePC“ durch den Namen oder die IP-Adresse des Zielcomputers.
Diese Methode ist besonders nützlich, wenn Sie mit Systemen arbeiten, die über bestimmte WMI-Konfigurationen verfügen, oder wenn Sie neben dem Neustartvorgang auch andere WMI-bezogene Aufgaben ausführen müssen.
Methode 3: Verwenden des Befehls „shutdown.exe“.
Dershutdown.exeDer Befehl ist ein integriertes Windows-Dienstprogramm, mit dem Remotecomputer neu gestartet werden können.
Schritt 1:Öffnen Sie PowerShell als Administrator.
Schritt 2:Führen Sie den folgenden Befehl aus:
shutdown.exe /m \RemotePC /r /t 0
Ersetzen Sie „RemotePC“ durch den Namen des Remote-Computers, den Sie neu starten möchten.
Für diese Methode muss der Remote-Registrierungsdienst auf dem Remote-Computer aktiviert sein und WMI muss durch die Windows-Firewall zugelassen werden.
Methode 4: Einsatz von PSExec.exe
PSExec.exe ist Teil des Sysinternals-Toolkits und bietet einzigartige Funktionen für die Interaktion mit Remote-Systemen.
Schritt 1:Laden Sie die Sysinternals Suite von der offiziellen Microsoft-Website herunter und installieren Sie sie.
Schritt 2:Öffnen Sie PowerShell als Administrator und navigieren Sie zu dem Verzeichnis, das PSExec.exe enthält.
Schritt 3:Führen Sie den folgenden Befehl aus:
.psexec.exe -d -h \RemotePC "shutdown.exe /r /t 0 /f"
Ersetzen Sie „RemotePC“ durch den Namen des Zielcomputers.
Für diese Methode muss der SMB-Dienst ausgeführt werden, die Datei- und Druckerfreigabe muss aktiviert sein, die einfache Dateifreigabe muss deaktiviert sein und die Administratorfreigabe admin$ muss auf dem Remotecomputer verfügbar sein.
Methode 5: Verwenden von RunDLL32.exe über Invoke-Command
Diese Methode kombiniertrundll32.exemit PowerShell'sInvoke-Commandum ein Remote-System neu zu starten.
Schritt 1:Öffnen Sie PowerShell als Administrator.
Schritt 2:Führen Sie einen der folgenden Befehle aus:
Methode 5a:
Invoke-Command -ComputerName "RemotePC" -ScriptBlock { & rundll32.exe user.exe,ExitWindowsExec }
Methode 5b:
Invoke-Command -ComputerName "RemotePC" -ScriptBlock { & rundll32.exe shell32.dll,SHExitWindowsEx 2 }
Ersetzen Sie „RemotePC“ durch den Namen oder die IP-Adresse des Remote-Computers.
Diese Methoden sind nützlich, wenn Sie neben dem Neustartvorgang weitere Remote-Vorgänge ausführen müssen.
Methode 6: Erzwingen eines Neustarts mit Taskkill.exe
Diese Methode erzwingt einen Windows-Neustart, indem ein kritischer Systemprozess beendet wird.
Schritt 1:Öffnen Sie PowerShell als Administrator.
Empfohlene Lektüre:So fahren Sie einen Windows-PC aus der Ferne herunter oder starten ihn neu
Schritt 2:Führen Sie den folgenden Befehl aus:
taskkill.exe /S \RemotePC /IM lsass.exe /F
Ersetzen Sie „RemotePC“ durch den Namen des Zielcomputers.
Vorsicht:Diese Methode sollte als letzter Ausweg verwendet werden, da sie einen kritischen Windows-Prozess zwangsweise beendet. Bei unsachgemäßer Verwendung kann es zu Datenverlust oder Systeminstabilität kommen.
Diese sechs Methoden bieten Systemadministratoren eine Reihe von Optionen zum Remote-Neustart von Windows-Computern mithilfe von PowerShell. Wählen Sie die Methode, die Ihren spezifischen Anforderungen und Netzwerkkonfiguration am besten entspricht. Denken Sie daran, diese Befehle in einer kontrollierten Umgebung zu testen, bevor Sie sie in einer Produktionsumgebung verwenden.









