Vor allem von Zeit zu Zeit muss ein Systemadministrator einen Server oder ein System neu starten. Normalerweise können Sie eine Remote-Verbindung zu einem System herstellen und das System über die grafische Benutzeroberfläche neu starten/herunterfahren - Power Shell bietet verschiedene Methoden zum Neustarten eines Computers aus der Ferne und wir werden die 6 bekannten Methoden in diesem Beitrag skizzieren.
Neustarten eines Windows-Computers aus der Ferne mit PowerShell
Voraussetzung für diese Methoden ist, dass wir die Remote-Systeme kontaktieren und sich bei Bedarf authentifizieren können. Außerdem müssen Sie sicherstellen, dass kein Neustart des Remote-Systems aussteht.
Sie benötigen Folgendes:
- Ein Benutzerkonto auf dem Remote-Computer in der Gruppe des lokalen Administrators.
- Windows PowerShell oder PowerShell Core.
1] Neustarten eines Remote-Computers mit Restart-Computer
Dieses Cmdlet ist mit flexiblen Parametern einfach zu verwenden. Eine weitere Voraussetzung für die Funktion des Befehls ist, dass WinRM konfiguriert und durch die Windows-Firewall des Remote-Computers und WMI durch die Windows-Firewall zugelassen ist.
Neustart-Computer -ComputerName $ComputerName -Force
Führen Sie den folgenden Befehl aus, um mehrere Computer parallel neu zu starten:
$ComputerArray | ForEach-Object -Parallel Restart-Computer -ComputerName $_ -Force -ThrottleLimit 3
2] Starten Sie einen Remote-Computer mit Invoke-CimMethod . neu
Das Invoke-CimMethod
funktioniert mit einer WIM-Methode zum Neustart des Remote-Systems - wenn auch nicht so flexibel wie die Starte den Computer neu
Cmdlet.
Eine weitere Voraussetzung für die Funktion des Befehls ist, dass WinRM konfiguriert und durch die Windows-Firewall des Remote-Computers zugelassen ist.
Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
3] Starten Sie einen Remote-Computer mit Herunterfahren neu.exe
Das schließen.exe
ist die standardmäßige integrierte ausführbare Datei, die Windows zum Neustarten eines Systems anbietet, und ist kein PowerShell-Befehl, bietet jedoch eine Reihe von robusten Optionen.
Eine weitere Voraussetzung für die Funktion des Befehls ist, dass auf dem Remote-Computer der Remote-Registrierungsdienst aktiviert und WMI durch die Windows-Firewall zugelassen ist.
schließen.exe /m \\Remotecomputer /r /t 0
4] Neustarten eines Remote-Computers mit PSExec.exe
Eines der am häufigsten verwendeten Dienstprogramme im Sysinternals-Toolkit, psexec.exe
bietet mehrere einzigartige Fähigkeiten, die die Interaktion mit einem Remote-System einfach machen.
Eine weitere Voraussetzung für das Funktionieren des Befehls ist, dass der SMB-Dienst ausgeführt wird, die Datei- und Druckerfreigabe aktiviert ist, die einfache Dateifreigabe deaktiviert ist und die administrative Freigabe admin$ verfügbar ist.
psexec.exe -d -h \\Remotecomputer "shutdown.exe /r /t 0 /f"
5] Starten Sie einen Remote-Computer mit RunDLL32 neu.exe
Das rundll32.exe
bietet eine Möglichkeit, bestimmte Methoden für interne ausführbare Dateien und Windows-APIs wie Shell32 auszuführen.dll. Es gibt zwei Methoden, mit denen Sie ein System mit dieser Funktionalität neu starten können, aber diese Methode kann nicht allein aus der Ferne verwendet werden. Sie können dies mit PowerShell über eine kombinieren Aufruf-Befehl
auf einem entfernten System.
Methode 1:
Aufruf-Befehl -ComputerName $ComputerName -ScriptBlock & rundll32.exe-Benutzer.exe ExitWindowsExec
Methode 2:
Aufruf-Befehl -ComputerName $ComputerName -ScriptBlock & rundll32.exe-Benutzer.exe ExitWindowsExec
6] Starten Sie einen Remote-Computer mit Taskkill . neu.exe
Last but not least, Taskkill.exe
ist ein weiteres Windows-Dienstprogramm, das einige Funktionen zum Neustarten von Windows bietet, wenn auch auf Umwegen. Durch das Beenden der lass.exe
Prozess, erzwingen Sie einen Windows-Neustart.
Taskkill.exe /S \\Remotecomputer /IM lsass.exe /F
Das war's mit den 6 Möglichkeiten, PowerShell zum Neustarten eines Remote-Computers zu verwenden!