Kleine Tipps für Zwischendurch (Teil 20) – Ist sie an? (die Firewall)

Festzustellen, ob die lokale Windows-Firewall aktiv ist, ist dank einer kleinen COM-Komponente sehr einfach:

$Fw = new-object -com HNetCfg.FwMgr
$Fw.LocalPolicy.CurrentProfile.FirewallEnabled

Ein wenig kniffliger wird es, wenn man diese Abfrage im lokalen Netzwerk durchführen möchte. Ein PsExec mit NetSh Firewall Show scheint wohl die einzige Möglichkeit zu sein (die mir eingefallen ist):

(psexec \\<Server> -U <User> cmd /c netsh firewall show opmode | out-string) -match „(?s)Domäne.+Betriebsmodus\s+=\s+Inaktiv“

Dieser Befehl macht sich die Mühe und durchsucht den Output des Kommandos mit Hilfe eines regulären Ausdrucks nach dem Wörtchen „Inaktiv“. Der „Trick“ (der natürlich keiner ist, wenn man sich auskennt) besteht darin, über (?s) dafür zu sorgen, dass die mehrzeilige Ausgabe als eine Zeile behandelt wird und ein . daher auch ein Newline-Zeichen matcht. Für <Server> und <User> müssen Servername und Benutzername eingesetzt werden. Das Passwort muss „blind“ eingetippt werden, da der PsExec-Prompt bei dieser Form der Ausführung nicht erscheint.

Advertisements

Kommentar verfassen

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s