-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathResolve.ps1
34 lines (29 loc) · 943 Bytes
/
Resolve.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Resolve domain name by ip-address or ip-address by domain name
# -> 'nslookup' is much faster than [System.Net.DNS]::GetHostEntry()
#
if( $($args.count) -lt 1 )
{
Write-Host "usage: $($MyInvocation.MYCommand) <DomainName or IP-Address>"
exit -1
}
else
{
[System.Net.IPAddress]$IPobj = $null
if( [System.Net.IPAddress]::tryparse($args[0],[ref]$IPobj) -and `
$args[0] -eq $IPobj.tostring() )
{
Write-Host "Resolving IP-Address $($args[0]) to its associated DomainName"
$serv,$null,$null,$name,$null = nslookup $($args[0]) 2>$null
#$serv = $serv -replace "Server:\s+",""
$name = $name -replace "Name:\s+",""
Write-Host $name
}
else
{
Write-Host "Resolving DomainName $($args[0]) to its associated IP-Address"
$null,$serv,$null,$null,$ipadr = nslookup $($args[0]) 2>$null
#$serv = $serv -replace "Address:\s+",""
$ipadr = $ipadr -replace "Address:\s+",""
Write-Host $ipadr
}
}