Tags: Remote-Verwaltung, Gruppenrichtlinien, PowerShell
Remote Sessions mit PowerShell, das Zusammenführen von Eventslogs und andere Dienste benötigen WinRM. Ab Windows Server 2012 ist es per Voreinstellung aktiviert, dagegen muss man es bei älteren Server-Versionen und Clients erst konfigurieren und die nötigen Firewall-Ausnahmen schaffen. Dafür bieten sich GPOs an.
Möchte man herausfinden, ob ein oder mehrere Remote-PCs über WinRM erreichbar sind, dann kann man dies mit Hilfe von PowerShell einfach herausfinden. Zuständig ist dafür das Cmdlet Test-WsMan, dem man den Namen des betreffenden Rechners übergibt. Es akzeptiert aber keine Liste mit mehreren Namen, so dass man in diesem Fall eine Schleife verwenden muss:
"PC-1","PC-2" | foreach{$_; Test-WsMan $_}
Befinden sich nur wenige Rechner im Netz oder sind sie nicht Mitglied in einer Domäne, dann kann man WinRM manuell aktivieren. Ansonsten empfiehlt es sich jedoch, dafür die Gruppenrichtlinien zu nutzen.
Mit ihrer Hilfe muss man drei Aufgaben bewältigen: Die Verwaltung über WinRM zulassen, den WinRM-Dienst automatisch starten und die benötigte Firewall-Ausnahme einrichten.
WinRM zulassen
Das Freischalten von WinRM erfolgt über die Einstellung Remoteserververwaltung über WinRM zulassen unter Computerkonfiguration => Richtlinien => Administrative Vorlagen => Windows-Komponenten => Windows-Remoteverwaltung => WinRM-Dienst.
Wenn man sie aktiviert, dann kann man mit Hilfe der IP-Filter den Zugang auf bestimmte Adapter beschränken.
Zu diesem Zweck gibt man in das entsprechende Feld entweder einzelne IP-Adressen von Quellsystemen ein, die durch Kommata getrennt werden, oder man definiert einen Bereich nach dem Muster 192.168.50.50 - 192.168.50.60.
Ein Stern dient als Wildcard, er lässt sich aber nicht als Platzhalter für einzelne Oktetts innerhalb der IP-Adressen nutzen.
WinRM-Dienst automatisch starten
Im zweiten Schritt sorgt man dafür, dass der benötigte WinRM-Dienst auf den Zielsystemen automatisch gestartet wird und damit immer verfügbar ist. Dafür kann man wahlweise eine Richtlinie oder die Group Policy Preferences bemühen (siehe dazu meine Anleitung).
In den meisten Fällen wird dafür die einfachere herkömmliche Richtlinie unter Computerkonfiguration => Richtlinien => Windows-Einstellungen =>Sicherheitseinstellungen => Systemdienste ausreichen.
Firewall-Regel für WinRM einrichten
Schließlich muss man noch sicherstellen, dass WinRM-Anfragen auf den Zielrechnern nicht von der Firewall abgewiesen werden. Dies erreicht man, indem man die vordefinierte eingehende Regel für WinRM aktiviert.
Die dafür zuständige Einstellung nimmt man unter Computerkonfiguration => Richtlinien => Windows-Einstellungen => Sicherheitseinstellungen => Windows-Firewall mit erweiterter Sicherheit => Eingehende Regeln vor.
Dort startet man aus dem Kontextmenü mit dem Befehl Neue Regel einen Assistenten und aktiviert anschließend die Option Vordefiniert.
Nun wählt man im Pull-Down-Menü den Eintrag Windows-Remoteverwaltung und deaktiviert im folgenden Dialog die Regel für das öffentliche Firewall-Profil, um dem Missbrauch von WinRM vorzubeugen.
Zusätzlich empfiehlt es sich, nach dem Einrichten der Regel deren Eigenschaften zu öffnen und sie unter der Registerkarte Erweitert auch für das Profil Privat außer Kraft setzen. Damit lassen sich die betroffenen PCs nur mehr von Rechnern aus remote verwalten, die Mitglied in der Domäne sind.
Sobald das GPO auf die Zielsysteme angewandt wurde, sollte sich mit einem der genannten Mechanismen eine Remote-Session aufbauen lassen.
Diese bleibt standardmäßig aber nur Konten mit administrativen Rechten vorbehalten. Möchte man jedoch Aufgaben wie das Management von Hyper-V an Standardbenutzer delegieren, dann muss man ihnen auf den Zielrechnern zusätzliche Rechte einräumen (siehe dazu: WinRM für Standardbenutzer zulassen).
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- PowerShell für Logon-Scripts verwenden
- Welche lokalen Gruppenrichtlinien sind auf dem Rechner aktiviert?
- ThinPrint 13 unterstützt Microsofts V4-Druckertreiber und MMC
- Defender Antivirus konfigurieren: Ausschlüsse, Echtzeitschutz, Scan-Verhalten und Reaktion auf Bedrohungen
- Microsoft Defender: Updates für Viren-Signaturen über Gruppenrichtlinien und PowerShell steuern
Weitere Links
6 Kommentare
Wie - keine Kommentare? Unglaublich! ;)
Danke für diese sehr gute, kurze und präzise Beschreibung.
Grüße
Daniel
Auch heute noch relevant. Danke für diesen Beitrag!
Wenn man sie aktiviert, dann sollte man aus Sicherheitsgründen mit Hilfe der IP-Filter den Zugang auf die zulässigen Maschinen beschränken.
Die Remote-Verwaltung von PCs sollte man mit IP-Filtern tunlichst auf bestimmte Quellsysteme einschränken.
Das hatte ich dir geglaubt aber funktioniert so nicht denn in der GPO steht "The service listens on the addresses specified by the IPv4 and IPv6 filters" was für mich bedeutet dass der WinRM nur auf diesen Adressen lauscht aber das ist keine Einschränkung um z.B. WinRM überall freizuschalten aber nur von einigen eingetragenen IP-Ranges zu erlauben, das muss man dann über die Firewallregel machen.
Sehr richtig und wichtig! IPv4Filter gibt an, auf welchen lokalen IP-Adressen gelauscht wird. Die Zugriffsbeschränkung erfolgt nicht darüber.
Vergleiche die Ausgabe von "winrm enumerate winrm/config/Listener | findstr Listen"
Ein gutes Tutorial um das ganze grundsätzlich zum laufen zu kriegen, allerdings fehlen Sicherheitsaspekte und Anpassungsmöglichkeiten.
1. Wie konfiguriert man WinRM für https?
2. Wie kann man einen alternativen Port und ein Zertifikat in der GPO konfigurieren?
Eine Anleitung zu WinRM über HTTPS gibt es als separaten Artikel: PowerShell Remoting über HTTPS mit einem selbstsignierten SSL-Zertifikat