Using PowerShell to verify forward and reverse DNS records
If you first time to using powershell console to run scripts, you may hit this error:

Solution:
Type "Set-ExecutionPolicy RemoteSigned" and hit enter

Press Y and hit enter.
Here is the script for verify forward and reverse DNS records using powershell:
You may copy & paste, save as dnslookup.ps1
   
   
        
   
        
   
                  
                  
        
Command to use this script:
Output:


Solution:
Type "Set-ExecutionPolicy RemoteSigned" and hit enter

Press Y and hit enter.
Here is the script for verify forward and reverse DNS records using powershell:
You may copy & paste, save as dnslookup.ps1
$hostlist = @($input)  
 # running through the list of hosts  
 $hostlist | %{  
      $obj = "" | Select ComputerName,Ping,IPNumber,ForwardLookup,ReverseLookup,Result  
      $obj.ComputerName = $_  
      # ping each host  
      if(Test-Connection $_ -quiet){  
           $obj.Ping = "OK"  
     $obj.Result = "OK"  
      }  
      else{  
           $obj.Ping = "Error"  
     $obj.Result = "Error"  
      }  
      # lookup IP addresses of the given host  
      [array]$IPAddresses = [System.Net.Dns]::GetHostAddresses($obj.ComputerName) | ?{$_.AddressFamily -eq "InterNetwork"} | %{$_.IPAddressToString}  
      # caputer count of IPs  
      $obj.IPNumber = ($IPAddresses | measure).count  
      # if there were IPs returned from DNS, go through each IP  
   if($IPAddresses){  
     $obj.ForwardLookup = "OK"  
        $IPAddresses | %{  
             $tmpreverse = $null  
                # perform reverse lookup on the given IP  
             $tmpreverse = [System.Net.Dns]::GetHostByAddress($_).HostName  
             if($tmpreverse){  
                     # if the returned host name is the same as the name being processed from the input, the result is OK  
                  if($tmpreverse -ieq $obj.ComputerName){  
                       $obj.ReverseLookup += "$_ : OK `n"  
                  }  
                  else{  
                       $obj.ReverseLookup += "$_ different hostname: $tmpreverse `n"  
                       $obj.Result = "Error"  
                  }  
             }  
             else{  
                  $obj.ReverseLookup = "No host found"  
                  $obj.Result = "Error"  
             }  
     }  
      }  
      else{  
           $obj.ForwardLookup = "No IP found"  
           $obj.Result = "Error"  
      }  
      # return the output object  
      $obj  
 }  
Command to use this script:
PS C:\Users\users\Desktop> "www.yahoo.com" | .\dnslookup.ps1 | ft -auto
Output:

Comments