Tags: Server Core, Windows
Neben den diversen grafischen Verwaltungs-Tools, die auch entfernte Rechner administrieren können, eignet sich auch die Kommandozeile zu diesem Zweck. Dabei muss es nicht gleich die Powershell sein, für die es eine Reihe von Cmdlets für die Remote-Administration gibt. Auch cmd.exe kann diese Aufgabe übernehmen.
Grundlage für die Nutzung der Kommandozeile auf einem entfernten Computer ist Windows Remote Management (WinRM), Microsofts Implementierung des DMTF-Standards WS-Management. Er nutzt dazu Web-Services auf Basis von SOAP.
Entsprechend setzt das Remote-Management voraus, dass WinRM richtig konfiguriert ist. Dazu gehört vor allem, dass auf dem Zielrechner der entsprechende Service gestartet und die Firewall eine Ausnahme für WinRM macht. Ob der Dienst läuft, kann man entweder über die Computerverwaltung unter Dienste und Anwendungen => Dienste oder noch schneller auf der Kommandozeile durch die Eingabe von
sc query winrm
herausfinden. Ist er aktiv lässt sich über den Befehl
winrm enumerate winrm/config/listener
feststellen, ob WinRM konfiguriert ist und Listener eingerichtet sind. Liefert der Befehl kein Ergebnis, kann man das Remote-Management mit
winrm quickconfig
auf die Fernwartung vorbereiten. Bei Rechnern, die nicht einer Domäne angehören, muss der Remote-PC auf dem Client als TrustedHost eingetragen werden:
winrm set winrm/config/client @{TrustedHosts="ServerName"}
Umgekehrt muss auch der verwaltete Rechner mit dem Client auf die gleiche Weise vertraut gemacht werden.
Der Start der Eingabeaufforderung erfolgt schließlich über den Befehl
winrs -r:ServerName cmd.exe
Die damit gestartete Eingabeaufforderung läuft auf dem Zielrechner. Außer einer kurzen Begrüßung durch eine Copyright-Meldung und die Versionsnummer der Shell fällt gar nicht auf, dass man jetzt auf dem entfernten PC arbeitet. Um gefährliche Verwechslungen zwischen den Rechnern zu vermeiden, sollte man den Prompt so anpassen, dass er Auskunft über den jeweiligen Hostnamen gibt.
Eine Möglichkeit, dies zu automatisieren, besteht darin, dass man unter Systemsteuerung => System und Sicherheit => System => Erweiterte Systemeinstellungen => Umgebungsvariablen eine neue Benutzervariable mit dem Wert
[%COMPUTERNAME%]$p$g
anlegt. Dies sorgt für die Anzeige des Rechnernamens vor dem aktuellen Laufwerk und Verzeichnis.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Vergessenes Administrator-Passwort in Windows 11 und Server Core offline zurücksetzen
- Windows und Office mit Active Directory-basierter Aktivierung (ADBA) freischalten
- Server Core mit PowerShell statt cmd.exe starten
- Microsoft Edge Chromium auf Server Core installieren
- SQL Server 2019 (Express) auf Windows Server Core installieren, Remote-Management aktivieren
2 Kommentare
winrm set winrm/config/client @{TrustedHosts="ServerName"}
needs to be
winrm set winrm/config/client '@{TrustedHosts="ServerName"}' when using PS
Gibt es die Möglichkeit den Rechnernamen auch in Powershell sich so wie hier für CMD beschrieben automatisch anzeigen zu lassen?