Resolve IP Addresses to Hostname using PowerShell
I had a previous customer shoot me an email asking for help whipping up a script to convert a list of IP addresses from a text file to their respective host names, and put that into another text file. I put together a little demonstration script to show a way to get this done. I am using the .Net Static Class “system.net.DNS”. I hope this is useful to someone :)
# The following line read a plain list of IPs from files. For this demo, I have # this line commented out and added a line to just define an array of IPs here #$listofIPs = Get-Content c:\IPList.txt $listofIPs = "173.136.234.58","173.136.234.59","173.136.234.60" #Lets create a blank array for the resolved names $ResultList = @() # Lets resolve each of these addresses foreach ($ip in $listofIPs) { $result = $null
$currentEAP = $ErrorActionPreference $ErrorActionPreference = "silentlycontinue"
#Use the DNS Static .Net class for the reverse lookup # details on this method found here: https://msdn.microsoft.com/en-us/library/ms143997.aspx $result = [System.Net.Dns]::gethostentry($ip)
$ErrorActionPreference = $currentEAP
If ($Result) { $Resultlist += [string]$Result.HostName } Else { $Resultlist += "$IP - No HostNameFound" } } # If we wanted to output the results to a text file we could do this, for this # demo I have this line commented and another line here to echo the results to the screen #$resultlist | Out-File c:\output.txt $ResultList |
-Gary
This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at https://www.microsoft.com/info/cpyright.htm.
Comments
Anonymous
June 21, 2011
Thank you for posting this. But for some reason when I use the file name option(i un-commented it out), it doesn't seem to resolve the IP address. All it does it spit back out the IP's and says "No HostnameFound" Put if I enter each IP in the script it works like a charm. Can you help?Anonymous
March 25, 2014
Well done. Worked for me.Anonymous
April 30, 2014
The comment has been removedAnonymous
May 01, 2014
Hi Gary. I took your cert class at MSFT about 2 yrs ago. How have you been?
This was great. Exactly what I needed.
Take care amigo.Anonymous
August 06, 2014
Works Great. Is there a easy way to print the ip from the iplist along hostnameAnonymous
October 16, 2014
Great ScriptAnonymous
January 06, 2015
The comment has been removedAnonymous
January 30, 2015
The comment has been removedAnonymous
April 21, 2015
This could help you;
http://securityposts.blogspot.com.tr/2012/04/getting-hostname-from-ip-address-list.htmlAnonymous
April 27, 2015
This is a tiny tool for converting a list of IP Addresses to Hostname or reverse
http://sourceforge.net/projects/iphostnameconverter/Anonymous
September 28, 2015
Thanks so much this worked like a champ!Anonymous
January 25, 2016
The comment has been removedAnonymous
March 29, 2016
Well done, thank you