Du kannst den für Dich relevanten Code gern bei mir klauen Steckt alles hier drin: https://github.com/daabm/PowerShell/blob/master/Scripts/Test-TcpPorts.ps1
Ich hab am Anfang auch versucht, plain Powershell zu verwenden, aber Test-Netconnection ist - hm - #grütze
Das Skript macht den Ping per [Net.NetworkInformation.Ping], da hat man wesentlich mehr Möglichkeiten der Parametrisierung und Auswertung. Und es ist unabhängig von PS-Versionen.
In den ersten Versuchen war das dann noch synchron, später habe ich auf Async umgebaut.