PowerShell batch nslookup
Article is written in the Dutch language…
Onderstaande PowerShell script zoekt ip-adressen bij hostnamen uit een CSV-bestand en schrijft deze waarden weg in een text-bestand. De eerste regel van het CSV-bestand moet de kolomnamen bevatten. Het script kijkt naar de kolom met de naam “Hostname”.
# *****************************************************************************
# Scriptnaam: NSLOOKUP2.PS1
# Geschreven_door: Tim van Kooten Niekerk
# Versie: 2009.10.16.01
# Info: Dit script zoekt IP-adressen bij hostnamen vanuit een CSV-bestand.
# Info: De resultaten worden uitgevoerd naar bestand: "IPadressen.txt".
# Info: De 1e regel van het CSV-bestand moet kolomnamen bevatten.
# INfo: Het script kijkt alleen naar de kolom "Hostname".
# *****************************************************************************
$vDNSServerIP = "[server-ip-address]"
$vImportCSVFile = "HostNames.csv"
$vOutputTXTFile = "IPadressen.txt"
$aImportCSV1 = import-csv $vImportCSVFile
foreach ($vRow in $aImportCSV1 ) {
$vNSLookup = nslookup $($vRow.Hostname) $($vDNSServerIP) | `
select-string -NotMatch -Pattern $($VDNSServerIP)
$VNSLookupIP = $vNSLookup | select-string -Pattern "Address"
$VNSLookupName = $vNSLookup | select-string -Pattern "Name"
# Stel een regel samen t.b.v. uitvoer bestand...
"Question: " + $vRow.HostName + " " + `
$vNSLookupName.Line + " " + `
$vNSLookupIP.Line | `
Out-File -Append -Filepath $vOutputTXTFile
}