Rechner über WinRM mittels Eingabeaufforderung remote verwalten


    Tags: ,

    Remote AdministrationNeben den diversen grafischen Verwaltungs-Tools, die auch entfernte Rechner admini­strieren können, eignet sich auch die Kommando­zeile 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.

    Ein Listener für WinRM ist eingerichtet, der Rechner bereit für das Remote ManagementEntsprechend 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

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut
    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    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?