Scripting und Automatisierung von Sicherheitseinstellungen

Powershell-Befehle, die die Windows-Firewall steuern

Seite: 2/3

Anbieter zum Thema

Firewall-Regeln in der Powershell erstellen, ändern, löschen und kopieren

Anstatt mit New-NetFirewallRule eine neue Firewall-Regel zu erstellen, ist es häufig einfacher, Firewall-Regeln zu kopieren. Dazu steht der Befehl Copy-NetFirewallRule zur Verfügung.

Auch IPSec-Regeln lassen sich kopieren. Dazu wird das CMDlet Copy-NetIPsecRule verwendet. Umbenennen lassen sich Firewall-Regeln dann mit dem CMDlet Rename-NetFirewallRule.

Beim Kopieren können Administratroren aber schon einen neuen Namen angeben. Beispiel:

Copy-NetFirewallRule -DisplayName "Require Outbound Authentication" -NewName "Alternate Require Outbound Authentication"

Löschen können Administratoren Firewall-Regeln mit Remove-NetFirewallRule. Firewall-Regeln lassen sich auch mit Gruppenrichtlinien verteilen. Auch hier haben Administratoren die Möglichkeit die Firewall-Regeln eines Domänen-Profils zu kopieren, die mit einer bestimmten GPO im Unternehmen verteilt werden. Beispiel:

Get-NetFirewallProfile -Profile Domain -PolicyStore <FQDN der Domäne>\<Name der GPO> | Copy-NetFirewallRule -NewPolicyStore <FQDN der Domäne>\<Neue GPO>

Im vorangegangenen Profil ist auch das CMDlet Get-NetFirewallProfil eingebunden. Mit diesem CMDlet lassen sich Firewall-Regeln in der Powershell anzeigen.

Firewall in der Powershell steuern und Regeln aktivieren oder deaktivieren

Neben dem Erstellen und Anpassen von Firewall-Regeln können Administratoren auch die Powershell als Ganzes steuern. Auf diesem Weg lassen sich Firewall-Regeln zeitweise deaktivieren (Disable-NetFirewallRule) und dann wieder aktivieren (Enable-NetFirewallRule). Die Syntax ist recht einfach:

Disable-NetFirewallRule –DisplayName "<Anzeigename>"

Mit dem CMDlet ist es zum Beispiel möglich, alle Firewall-Regeln einer bestimmten Gruppenrichtlinie zu deaktivieren:

Disable-NetFirewallRule –Direction Outbound -PolicyStore <Domäne>\<GPO>

Um alle Firewall-Regeln eines Rechners in einer Variablen zu speichern, verwenden Administratoren zum Beispiel:

$Rules = Get-NetFirewallRule -PolicyStore ActiveStore -PolicyStoreSourceType Dynamic

Über diese Variable lassen sich dann alle FirewallRegeln deaktivieren:

Disable-NetFirewallRule –InputObject $Rules

Anstatt das Ergebnis einer Abfrage in einer Variable zu speichern, lassen sich die Ergebnisse aber auch mit dem Pipe (|) direkt an ein anderes CMDlet übergeben:

Get-NetFirewallRule -PolicyStore ActiveStore -PolicyStoreSourceType Dynamic | Disable-NetFirewallRule

Auf dem gleichen Weg wie sich Firewall-Regeln mit Disable-NetFirewallRule deaktivieren lassen, können Administratoren die Regeln mit Enable-NetFirewallRule auch wieder aktivieren.

(ID:42267698)