netsh und PowerShell

Windows-Praxis: Firewall per Kommandozeile steuern

Wer mehr als ein System unter seiner Obhut hat, konfiguriert die Firewall unter Windows am einfachsten und schnellsten per Kommandozeile. Das ging bislang ganz gut per netsh-Befehl. Microsoft setzt mit den neuen Windows-Versionen aber vermehrt auf die PowerShell, mit der sich viele Aktionen für Admins effizienter durchführen lassen.

Für die Bedienung der in allen aktuellen Windows-Systemen vorhandenen "Windows Firewall mit erweiterter Sicherheitsverwaltung" (so der vollständige offizielle Name) bieten sowohl Windows 7 und Windows Server 2008 R2 als auch die neue Generation der Betriebssysteme mit Windows 8 und Windows Server 2012 eine grafische Oberfläche, die eine leichte Konfiguration und Verwaltung erlaubt. Aber spätestens beim Einsatz eines Serversystems, das auf Basis der Server-Core-Version arbeitet, wird es für die Administratoren notwendig, auch hier die Kommandozeile zu bemühen.

In der Regel stehen alle Möglichkeiten des Zugriffs auf die Windows Firewall bereit: Über die "erweiterten Einstellungen" bekommt der Administrator ein Konsole zur Verfügung gestellt, in der er alle Aufgaben lösen kann.
In der Regel stehen alle Möglichkeiten des Zugriffs auf die Windows Firewall bereit: Über die "erweiterten Einstellungen" bekommt der Administrator ein Konsole zur Verfügung gestellt, in der er alle Aufgaben lösen kann.

Zu diesem Zeitpunkt kam und kommt auf vielen Systemen auch weiterhin der netsh-Befehl zum Einsatz. Bei dieser Software handelt es sich nicht um einen einzelnen Befehl, sondern um eine eigenständige Shell, die mit vielen Subbefehlen ausgestattet wurde. Microsoft möchte aber erreichen, dass immer mehr Aufgaben aus dem Bereich Systemkonfiguration und -betreuung auch oder sogar ausschließlich unter Einsatz der PowerShell durchgeführt werden können. So können Anwender und Administratoren nun auf mehr als 2400 CMDlets zur Verwaltung ihrer Windows-Systeme zurückgreifen.

Wir stellen hier einige der neuen Cmdlets vor, zeigen ihre Einsatzmöglichkeiten und demonstrieren zudem, wie sie sich von den klassischen netsh-Kommandos unterscheiden. Dabei ist es sicher gut, dass man bei Microsoft noch nicht - wie zunächst von vielen Experten den befürchtetet -- einen radikalen Schnitt vorgenommen und die netsh-Unterstützung bei den neuen Betriebssystem komplett gestrichen hat: Auch unter Windows 8 und Windows Server 2012 stehen nach wie vor alle netsh-Kommandos zur Verfügung, und bereits entwickelte Batch-Dateien werden auch weiterhin auf den neuen System laufen.

Die PowerShell stellt den Administratoren in der neuen Version 3.0 eine große Anzahl neuer Cmdlets zur Verfügung: Hier die Cmdlets aus dem Modul "Netsecurity" in der Auflistung.
Die PowerShell stellt den Administratoren in der neuen Version 3.0 eine große Anzahl neuer Cmdlets zur Verfügung: Hier die Cmdlets aus dem Modul "Netsecurity" in der Auflistung.

Eine weitere wichtige Neuerung der PowerShell kommt den Administratoren und Anwendern der neuen Windows-Systeme aber auf jeden Fall zugute: Es ist nicht mehr nötig, entsprechende Module - wie in diesem Fall das Modul Netsecurity - explizit nachzuladen, denn das erledigt die PowerShell nun automatisch. Wollen Sie zunächst einmal eine Übersicht darüber bekommen, welche Cmdlets Ihnen die PowerShell im Bereich Sicherheit nun aktuell zur Verfügung stellt, so sollten Sie zunächst den folgenden Befehl eingeben:

Get-Command -module Netsecurity

Eine umfangreiche Liste der PowerShell-Cmdlets rund um den Bereich Netzwerksicherheit (es sind insgesamt 84) ist mit der Auflistung ihrer jeweiligen Parameter in englischer Sprache auf dem TechNet zu finden.