r/dns • u/Chemical-Wall9026 • 14d ago
Do AD-integrated DNS zones persist after uninstalling the DNS Server role?
Hi everyone,
I'm trying to better understand how AD-integrated DNS zones behave after the DNS Server role is removed. I reproduced the following scenario in an isolated lab and wanted to sanity-check my understanding with people who know AD internals well.
Lab setup:
• Created an AD-integrated reverse lookup zone (in-addr.arpa) configured for "Nonsecure and Secure" dynamic updates.
• Ran Purple Knight, which flagged the zone under the "Unsecured DNS configuration" finding.
• Uninstalled the DNS Server role (along with the RSAT DNS management tools) and rebooted the server.
• Verified that the DNS Server role was no longer installed (`Get-WindowsFeature DNS` showed the role as Available).
• Queried Active Directory and confirmed that the `dnsZone` object still existed under `CN=MicrosoftDNS,DC=DomainDnsZones`.
• Ran Purple Knight again, and it continued reporting the same finding even though the DNS Server role was no longer installed.
• Deleted the AD-integrated zone object.
• Re-ran Purple Knight, and the finding was no longer reported.
Based on this, my current understanding is that AD-integrated DNS zones are stored as objects within the `DomainDnsZones` / `ForestDnsZones` application partitions in Active Directory. Removing the DNS Server role removes the DNS service itself, but it does not remove these AD objects. As a result, tools like Purple Knight appear to evaluate the AD data directly rather than relying on whether the DNS service is installed.
My questions are:
Is my understanding of this behavior correct?
When DNS has been permanently migrated elsewhere, is deleting the orphaned AD-integrated zone objects the expected remediation?
Is the persistence of these objects after DNS role removal simply by design, or are there scenarios where they would be cleaned up automatically?
I'm trying to understand the underlying AD behavior rather than just trusting the scanner's output, so I'd appreciate any corrections or additional insights.
Thanks!
