Usando Powershell - dmitrysotnikov escreveu uma boa função, é de:
link
precisa de algum tratamento de erros para respostas mais limpas de 'tempo limite' e 'host não encontrado'.
function Get-ComputerNameByIP {
param(
$IPAddress = $null
)
BEGIN {
}
PROCESS {
if ($IPAddress -and $_) {
throw ‘Please use either pipeline or input parameter’
break
} elseif ($IPAddress) {
([System.Net.Dns]::GetHostbyAddress($IPAddress))
} elseif ($_) {
trap [Exception] {
write-warning $_.Exception.Message
continue;
}
[System.Net.Dns]::GetHostbyAddress($_)
} else {
$IPAddress = Read-Host “Please supply the IP Address”
[System.Net.Dns]::GetHostbyAddress($IPAddress)
}
}
END {
}
}
#Use any range you want here
1..255 | ForEach-Object {”10.20.100.$_”} | Get-ComputerNameByIP