netsh und PowerShell
Windows-Praxis: Firewall per Kommandozeile steuern
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.
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.
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.