script nslookup di tutti gli ip da una lista
Questo script effettua nslookup di tutti gli ip da una lista in formato txt
Creare un file .txt ed inserire uno per riga tutti gli ip che si vuole risolvere con nslookup
Di seguito lo script in powershell:
$InputFile = '.\list_ip.txt'
$addresses = get-content $InputFile
$reader = New-Object IO.StreamReader $InputFile
while($reader.ReadLine() -ne $null){ $TotalIPs++ }
write-host ""
write-Host "Performing nslookup on each address..."
foreach($address in $addresses) {
## Progress bar
$i++
$percentdone = (($i / $TotalIPs) * 100)
$percentdonerounded = "{0:N0}" -f $percentdone
Write-Progress -Activity "Performing nslookups" -CurrentOperation "Working on IP: $address (IP $i of $TotalIPs)" -Status "$percentdonerounded% complete" -PercentComplete $percentdone
## End progress bar
try {
[system.net.dns]::resolve($address) | Select HostName,AddressList
}
catch {
Write-host "$address was not found. $_" -ForegroundColor Green
}
}
write-host ""
Eventualmente si può aggiungere un ulteriore passaggio che effettua anche il ping di ogni singolo ip nella lista:
write-Host "Pinging each address..."
foreach($address in $addresses) {
## Progress bar
$j++
$percentdone2 = (($j / $TotalIPs) * 100)
$percentdonerounded2 = "{0:N0}" -f $percentdone2
Write-Progress -Activity "Performing pings" -CurrentOperation "Pinging IP: $address (IP $j of $TotalIPs)" -Status "$percentdonerounded2% complete" -PercentComplete $percentdone2
## End progress bar
if (test-Connection -ComputerName $address -Count 2 -Quiet ) {
write-Host "$address responded" -ForegroundColor Green
} else
{ Write-Warning "$address does not respond to pings"
}
}
write-host ""
write-host "Done!"