ICMP Ping mit Test-Connection
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.
PS C:\> Test-Connection 8.8.8.8, 8.8.4.4, time.google.com
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.
PS C:\> $job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait
Routenverfolgung mit Test-NetConnection
Die Routenverfolgung in PowerShell 5.1 die standardmässig bei Windows 10 installiert ist.
PS C:\> Test-NetConnection 1.1.1.1 -TraceRoute
ComputerName : 1.1.1.1
RemoteAddress : 1.1.1.1
InterfaceAlias : WLAN
SourceAddress : 192.168.1.3
PingSucceeded : True
PingReplyDetails (RTT) : 5 ms
TraceRoute : 192.168.1.1
85.7.42.1
193.134.95.170
138.187.131.211
138.187.129.97
1.1.1.1
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 Parameter angegeben wird.
PS C:\> Test-Connection www.google.com -Traceroute -IPv4
In einem weiteren Beispiel werden Parameter verwendet um den Ping PowerShell Befehl Test-Connection anzupassen. Der lokale Computer sendet einen Ping an einen Remotecomputer.
PS C:\> Test-Connection -TargetName Server10 -Count 4 -Delay 2 -MaxHops 128 -BufferSize 256
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.
PS C:\> Test-Connection -TargetName isc.org -TcpPort 443
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.
PS C:\> Test-Connection -TargetName ripe.org -MtuSize
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.
PS C:\> Test-Connection -TargetName iana.org -Quiet
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.
PS C:\> if (Test-Connection -TargetName Server2 -Quiet) { New-PSSession -ComputerName Server2 }
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.
C:\> winrm get winrm/config/client
– repeat not working
work with powershell 7 and newer