Infrastructure: Windows Server DNS Stale Record Scavenger
The Workflow The Implementation In dynamic DHCP environments, DNS zones become polluted with stale A-records. This script provides a surgical, auditable way to identify and purge stale DNS records older than a defined threshold. 1. The Workflow The script performs the following steps: Targeting: Selects a specific internal DNS zone. Evaluation: Pulls all A records and compares the Timestamp against a 14-day threshold. Execution: Exports a CSV log of the stale records before actively removing them from the server. 2. The Implementation $ZoneName = "internal.avanster.tech" $ThresholdDate = (Get-Date).AddDays(-14) $Records = Get-DnsServerResourceRecord -ZoneName $ZoneName -RRType "A" foreach ($Record in $Records) { if ($Record.Timestamp -ne $null -and $Record.Timestamp -lt $ThresholdDate) { Remove-DnsServerResourceRecord -ZoneName $ZoneName -InputObject $Record -Force Write-Host "[-] Removed: $($Record.HostName)" } }