Even PowerShell v.1 has remarkable remoting capabilities–as long as you can make sure the target systems are online. Otherwise, you run into lengthy network timeouts. Here is a quick filter you can use to filter lists with IP addresses and computer names. Check-Online will only let those pass a pipeline that can be pinged successfully:
filter Check-Online {
trap { continue }
trap { continue }
. {
$obj = New-Object system.Net.NetworkInformation.Ping
$result = $obj.Send($_, 1000)
if ($result.status -eq 'Success') { $_ }
}
}
Check out how this works:
"127.0.0.1","noexists","powershell.com" | Check-Online