Resolve Domain Names (DNS)

Description

Resolves the provided domain names to IP addresses.

Overview

Resolves one or more domain names to IPv4 and IPv6 addresses by using multiple Resolve-DnsName query paths.

The script attempts resolution using:

  • Standard Windows name resolution with Resolve-DnsName
  • Resolve-DnsName -DnsOnly
  • Resolve-DnsName -Server <server> -DnsOnly

This helps identify cases where normal Windows resolver behavior differs from direct DNS server queries, such as on multihomed systems, hosts with mixed DNS server configuration, or systems affected by DNS client policy.

Resolution Strategy

For each domain name, the script attempts the following lookups:

  1. Resolve-DnsName -Type A
  2. Resolve-DnsName -Type AAAA
  3. Resolve-DnsName -Type A -DnsOnly
  4. Resolve-DnsName -Type AAAA -DnsOnly
  5. Resolve-DnsName -Type A -DnsOnly -Server <server>
  6. Resolve-DnsName -Type AAAA -DnsOnly -Server <server>

If no explicit DNS server is provided, the script enumerates the DNS servers configured on the local system and queries each one directly.

Parameter Sets

Auto

Uses the DNS servers configured on the local host.

ExplicitServer

Uses only the DNS server or servers supplied through -DnsServer.

Parameters

Name Type Required Parameter Set Description
DomainNames string[] Yes Auto, ExplicitServer One or more domain names to resolve.
DnsServer string[] Yes ExplicitServer One or more DNS servers to query directly with Resolve-DnsName -Server.

Output

The script returns one or more objects for each successful resolution attempt.

Each output object contains:

Property Type Description
Query string The original domain name supplied to the script.
Name string The resolved DNS name returned by Resolve-DnsName.
Type string The record type returned, typically A or AAAA.
Address string The resolved IP address.
Method string The resolution method used. This is always Resolve-DnsName.
Server string The DNS server used for direct queries. This is blank for standard resolver lookups.
DnsOnly bool Indicates whether the lookup was performed with -DnsOnly.

Duplicate results are removed before output.

Behavior Notes

  • The script only records successful results.
  • Failed lookups are suppressed unless verbose output is enabled.
  • Standard resolver lookups and direct DNS queries may return different results depending on local DNS client behavior.
  • This script is useful for troubleshooting cases where Resolve-DnsName, nslookup, and application-level resolution do not behave the same way.
  • Both IPv4 (A) and IPv6 (AAAA) resolution paths are attempted.

Examples

Dns Resolution

Name       : dc1.lab.net
IPAddress  : 192.168.1.2
RecordType : A
Scroll to Top