Para poder escanear rangos de ip’s utilizando powershell ,podemos ejecutar estas dos líneas directamente en la consola:
$ping=New-Object System.Net.NetworkInformation.ping
1..10 | % { $ping.send(«172.25.245.$_») | select address, status }
La primera nos creará un objeto netwokinformation.ping, para poder llamarlo desde la segunda línea , pasandole el rango de ip’s a escanear.
Otra alternativa es:
$ip = «172.25.245»
Definir que rango vamos a escanear
54..64 | %{if (!(test-connection «$ip`.$_» -count 1 -quiet)) {write-host -f Red «$ip`.$_ host not responding»} else {write-host -f Green «$ip`.$_ host up»}}
y pasarle el inicio y final (desde la 172.25.245.54 hasta 172.25.245.64) , si el host contesta ,marcarlo en verde y sino en rojo
me sirvio tu codigo para darle un primer vistaso a la red, hay modo de agregarle que nos diga los puertos que tiene activos el equipo de la red o mas informacion sobre el equipo, muchas gracias
Si Ed, para saber los puertos activos tendras que utilizar psnmap (http://www.powershelladmin.com/wiki/Port_scan_subnets_with_PSnmap_for_PowerShell)
saludos