Deaktivieren der Windows Firewall einfach mit netsh oder in der PowerShell
Es gibt immer wieder Situationen, in denen es notwendig ist, die Windows Firewall zu deaktivieren. Aus der PowerShell bietet sich die Unterstützung um die Windows Firewall zu deaktivieren. Windows ermöglich auch die Firewall mit dem netsh-Befehl zu deaktiviert. Windows Server 2012 oder höher ermöglicht darüber hinaus die Ausführung des Set-NetFirewallProfile PowerShell-Cmdlet.
Deaktivieren der Firewall mit PowerShell
Dazu öffne Windows PowerShell als Administrator und führe folgende Zeile aus:
Die wieder aktivierung der Windows Defender Firewall erfordert am Ende -Enable True anstelle von False.
So deaktiviert man die Firewall mit dem netsh-Befehl
Öffne eine Eingabeaufforderung mit administrativen Rechten und füge folgendes Command ein:
netsh advfirewall set allprofiles state off
In nächsten Beispiel werden alle Windows Firewall Regeln im aktiven Speicher in der PowerShell abgerufen. Bei dem es sich um eine Sammlung aller Richtlinienspeicher handelt, die für den Computer gelten. Wenn Sie dieses Cmdlet ohne Angabe des Richtlinienspeichers ausführen, wird der persistente Speicher abgerufen.
In diesem Beispiel werden alle Firewallregeln abgerufen, die für das öffentliche Profil gelten.
PS C:\>Get-NetFirewallProfile -Name Public | Get-NetFirewallRule
Das Cmdlet „Get-NetFirewallRule“ gibt die Instanzen von Firewallregeln zurück, die mit den Suchparametern des Benutzers übereinstimmen. Weitere Informationen finden Sie im Cmdlet „New-NetFirewallRule“ zur Deaktivierung der Windows PowerShell-Firewall.
Dieses Cmdlet gibt eine oder mehrere PowerShell-Firewallregeln zurück, indem es den Parameter „Name“ (Standard), den Parameter „DisplayName“, Regeleigenschaften oder zugehörige Filter oder Objekte angibt. Die abgefragten Regeln können in Variablen platziert und zur weiteren Änderung oder Überwachung an andere Cmdlets weitergeleitet werden.
Ping unter Windows 10 beschränkt sich nicht mehr nur zur Ausführung aus dem Command Prompt, dabei wartet Ping in der PowerShell mit Test-Connection über zusätzlichen Möglichkeiten auf. Das Cmdlet in der PowerShell 7 enthält erweiterte Funktionen, wie Repeat und Traceroute oder als Ping Prozess im Hintergrund.
Ping Beispiele mit Test-Connection
Das PowerShell Cmdlet Test-Connection sendet Ping ICMP Echo-Anforderungspakete (Internet Control Message Protocol) an einen oder mehrere durch Komma getrennte Remote-Hosts und gibt die Echo Antworten zurück.
Mit der Option -Repeat wird wie dies von Ping bekannt ist, ICMP Anfragen mit Test-Connection an den angegebenen Host gesendet, bis zur Beendigung des Vorgangs, durch die Eingabe von CTRL+BREAK.
PS C:\> Test-Connection 1.1.1.1 -Repeat
Dieses Beispiel zeigt, wie ein Test-Connection Befehl als PowerShell Hintergrund Ping ausgeführt wird.
Routenverfolgung – Traceroute mit dem Test-Connection in der PowerShell.
Der in PowerShell 6.0 eingeführte Parameter Traceroute ordnet eine Routenverfolgung an, zwischen dem lokalen Computer und dem Remote-Ziel, das mit Parameterangegeben wird.
In einem weiteren Beispiel werden Parameter verwendet um den Ping PowerShell Befehl Test-Connection anzupassen. Der lokale Computer sendet einen Ping an einen Remotecomputer.
Das Test-Connection Cmdlet ist ab PowerShell 6.0 und neuer verfügbar.
Test-Connection TCP Port Parameter
Das cmdlet Test-Connection erlaubt nicht nur die ICMP Ping Anforderung. Der Parameter -TcpPort gibt die TCP-Portnummer zum Ziel an, die im TCP-Verbindungstest verwendet werden soll. Das Cmdlet versucht, eine TCP-Verbindung mit angegebenen Port zum Ziel herzustellen.
Wenn eine Verbindung hergestellt werden kann, wird $True zurückgegeben. Kann keine Verbindung hergestellt werden, wird $False zurückgegeben. Der Paramter -TcpPort ist ab PowerShell 7.0 und neuer verfügbar.
Test-Connection MTU Size Parameter
Der Parameter -MtuSize wird verwendet, um die Pfad MTU Größe zu ermitteln.
Das Test-Connection Cmdlet gibt ein Ping Reply#MTUSize Objekt zurück, das die Pfad MTU Größe zum Ziel enthält, es ist ab PowerShell 7.0 und neuer verfügbar.
Test-Connection Parameter Quiet
Der Parameter -Quiet gibt einen booleschen Wert zurück. Die Verwendung dieses Parameters unterdrückt alle Fehler.
Dieses Cmdlet ist ab PowerShell 7.0 und neuer verfügbar.
PowerShell Remoting Test-Connection
Im nächsten Beispiel wird mit Test-Connection eine Sitzung zum Server2 erstellt, wenn mindestens einer der an den Computer gesendeten Ping erfolgreich ist. Hierzu muss auf dem Remote Computer TrustedHosts konfiguriert werden.
Um HTTP für PowerShell-Remoting zu verwenden, führt man folgenden Befehl auf dem Remote-Host aus, von einem als Administrator geöffneten (cmd) Command Prompt.
C:\> winrm quickconfig
Die TrustedHosts-Konfigurationseinstellung erfolgt durch ausführen von winrm.cmd mit der Option config/client auf dem Remote-Host.
winrm set winrm/config/client @{TrustedHosts="192.168.1.2"}
Anfragen von 192.168.1.2 werden angenommen. Die Abfrage der Globale Konfiguration von WinRM ist wie folgt.