Problema
En entornos Windows con DNS integrado en Active Directory, la eliminación accidental de una zona primaria puede dejarla “zombie”: el objeto aparece como deleted en el contenedor CN=Deleted Objects, PowerShell la lista, pero la consola DNS Manager no la muestra y los clientes dejan de resolver. El síntoma típico es que consultas DNS devuelven NXDOMAIN y la zona no está visible en la GUI, aunque sigue existiendo como un objeto borrado con el sufijo -deleted-<guid>. La falta de una recuperación clara genera interrupciones de servicio y obliga a decidir entre restaurar desde el AD Recycle Bin, recrear la zona manualmente o realizar una restauración completa del controlador de dominio.
Causa
Las causas más habituales son:
- Eliminación directa de la zona – Un administrador usa DNS Manager o
Remove-DnsServerZonesin activar la opción “Allow deletion of this zone”. El objeto pasa aCN=Deleted Objectsy queda “marcado” como eliminado. - Fallo de replicación – El controlador que ejecutó la eliminación no replica a tiempo; otros DCs siguen viendo la zona mientras el primero la marca como borrada, creando un estado inconsistente.
- Desactivación del AD Recycle Bin – Sin el contenedor de objetos borrados, la única vía es restaurar desde backup, lo que complica la recuperación.
- Confusión entre objetos DNS y contenedores AD – En AD, la zona es un objeto
dnsZone. Si se restaura solo el contenedor sin sus registros, la zona aparece vacía o corrupta. - Políticas de retención – Un tiempo de vida corto del objeto borrado (configuración de
msDS-DeletedObjectLifetime) puede hacer que desaparezca antes de que se inicie la restauración.
Solución
Una estrategia robusta combina tres pasos: identificar el objeto borrado, restaurarlo con AD Recycle Bin y forzar la replicación. Si el Recycle Bin no está habilitado o el objeto ya expiró, la alternativa es usar Veeam (o cualquier backup de AD) para extraer la zona y volver a importarla.
1. Verificar que el AD Recycle Bin está activo
Get-ADOptionalFeature -Filter {Name -like "Recycle Bin Feature"} | ft Name,EnabledScopes
Si EnabledScopes está vacío, el Recycle Bin no está habilitado; en ese caso, la única vía es restaurar desde backup.
2. Localizar la zona borrada
Get-ADObject -Filter {ObjectClass -eq "dnsZone" -and IsDeleted -eq $true} -IncludeDeletedObjects |
Select-Object Name,DistinguishedName,DeletedTime
El nombre aparecerá con el sufijo -deleted-<guid>. Copia el DistinguishedName completo; lo necesitaremos para la restauración.
3. Restaurar el objeto
Restore-ADObject -Identity "<DistinguishedName copiado>"
El comando devuelve sin errores si la restauración fue exitosa. En algunos casos el objeto vuelve a aparecer como “deleted” porque el contenedor padre sigue marcado. En ese caso, restaura también el contenedor CN=MicrosoftDNS si está en Deleted Objects.
4. Forzar replicación
repadmin /syncall /AdeP
Esto asegura que todos los DCs reciban la zona restaurada. Después de la replicación, abre DNS Manager; la zona debería estar visible.
5. Si la zona sigue ausente, usar Veeam para extraerla
- Montar el backup de un controlador de dominio anterior a la eliminación en modo offline.
- Iniciar en Directory Services Restore Mode (DSRM) y montar el NTDS.dit con
ntdsutil. - Exportar la zona usando
ldifde:
ldifde -f C:\Temp\zone.ldf -d "CN=example.org,CN=MicrosoftDNS,DC=corp,DC=local" -p subtree
- Importar en el DC activo:
ldifde -i -f C:\Temp\zone.ldf -k -j C:\Temp
- Reiniciar el servicio DNS y forzar replicación nuevamente.
6. Limpieza de “zombie” residual
Si después de la restauración la zona aparece con el sufijo -deleted-…, elimina el objeto duplicado:
Get-ADObject -Filter {Name -like "*-deleted-*" -and ObjectClass -eq "dnsZone"} -IncludeDeletedObjects |
Remove-ADObject -Confirm:$false
Luego ejecuta repadmin /syncall y verifica que solo exista la zona correcta.
Cuándo aplicar esta solución
- Síntomas: zona desaparecida en DNS Manager, consultas NXDOMAIN, PowerShell muestra zona con
-deleted-en su nombre, replicación muestra error 9006. - Entorno: AD DS con al menos dos controladores de dominio, DNS integrado en AD, AD Recycle Bin habilitado (preferible) o backups recientes disponibles.
- No aplicar: si la zona se eliminó hace más de la vida configurada del objeto borrado y no hay backup, la única opción viable es recrear la zona y volver a importar los registros manualmente.
- Escenarios especiales: cuando la zona contiene delegaciones críticas o registros SRV que no pueden perderse, siempre prioriza la restauración desde AD antes que una recreación manual.
Código
# Verificar Recycle Bin
Get-ADOptionalFeature -Filter {Name -like "Recycle Bin Feature"} | ft Name,EnabledScopes
# Listar zonas borradas
Get-ADObject -Filter {ObjectClass -eq "dnsZone" -and IsDeleted -eq $true} -IncludeDeletedObjects |
Select-Object Name,DistinguishedName,DeletedTime
# Restaurar zona específica
Restore-ADObject -Identity "CN=example.org,CN=MicrosoftDNS,DC=corp,DC=local"
# Forzar replicación
repadmin /syncall /AdeP
# Exportar zona desde backup (DSRM)
ldifde -f C:\Temp\zone.ldf -d "CN=example.org,CN=MicrosoftDNS,DC=corp,DC=local" -p subtree
# Importar zona en DC activo
ldifde -i -f C:\Temp\zone.ldf -k -j C:\Temp
# Eliminar zombie residual
Get-ADObject -Filter {Name -like "*-deleted-*" -and ObjectClass -eq "dnsZone"} -IncludeDeletedObjects |
Remove-ADObject -Confirm:$false
Verificación
- DNS Manager – La zona aparece bajo el nodo de zonas primarias y muestra los registros esperados.
- PowerShell –
Get-DnsServerZone -Name "example.org"devuelve la zona sin el sufijo-deleted. - Prueba de resolución – Desde un cliente,
nslookup host.example.orgdevuelve la dirección IP correcta. - Replicación –
repadmin /showrepl * /csv > repl.csvy verifica que todos los DCs tengan el mismoUSNChangedpara la zona. - Event Viewer – No aparecen eventos 9006 (zona no encontrada) ni 1008 (error al cargar zona).
Notas adicionales
- Mantén el AD Recycle Bin habilitado siempre que sea posible; evita la necesidad de restauraciones completas.
- Configura una retención de al menos 30 días para objetos borrados (
msDS-DeletedObjectLifetime) si tu política de backup lo permite. - Cuando uses Veeam, evita montar el backup en la red de producción; hacerlo offline reduce el riesgo de sobrescribir datos activos.
- Después de cualquier restauración, revisa los registros de delegación y los apuntadores de zona (NS, SOA) porque pueden quedar desincronizados.
- Si la zona contiene registros dinámicos (DHCP, AD‑integrated), verifica que los clientes sigan actualizando sus registros; un
ipconfig /registerdnsayuda a confirmar la correcta publicación.