← ALL SCRIPTS PowerShell · v1.0 · Read-only

Invoke-ADDnsHealthCheck

Read-only DNS health check for an Active Directory forest. Verifies DCs run the DNS Server role, audits DC NIC client settings, validates forwarders, walks every forward and reverse zone, and flags Microsoft DNS best-practice deviations — producing a styled HTML report, a findings CSV, and four detail CSVs.

WinRM is not required — all remote queries use CIM-over-DCOM (Win32_NetworkAdapterConfiguration for NIC settings; the DnsServer module via CIM session for server / zone / forwarder data). Reports default to a AD-DNS-HealthCheck-Reports\ subdirectory under the script’s folder; historical reports accumulate.

What it checks
  • DNS Service running on each DC
  • DC NIC: Primary & Secondary DNS
  • DNS suffix & search list
  • Self-only / 127.0.0.1 anti-pattern
  • Register This Connection setting
  • Zone replication scope (Pri/Sec/AD)
  • AD-integrated zones = Secure updates
  • Aging enabled per zone
  • Server scavenging interval
  • Forwarders reachable on TCP/53
  • Forwarders resolve test query
  • Approved forwarder list match
  • A records have matching PTR
  • PTR records map back to A
  • Reverse zones for every subnet
  • Duplicate IP -> multiple PTRs
  • Duplicate hostname -> multiple IPs
  • Recursion / EDNS0 settings
PowerShell 5.1+ RSAT-AD RSAT-DNS Read-only HTML + 5 CSVs SMTP email No WinRM needed
Get Script on GitHub

Opens github.com/rt109048/Invoke-ADDNSHealthCheck in a new tab

Get in touch

Let’s talk identity.

Open to advisory, contract and permanent opportunities involving Active Directory, Entra ID, identity governance, or zero-trust programmes. The best way to reach me is by email.

Location
United States — Remote