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 -DnsOnlyResolve-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:
Resolve-DnsName -Type AResolve-DnsName -Type AAAAResolve-DnsName -Type A -DnsOnlyResolve-DnsName -Type AAAA -DnsOnlyResolve-DnsName -Type A -DnsOnly -Server <server>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
