DCPROMO: Error Los Servicios de dominio de Active Directory

Creado por Nahuel Leandro Gimeno, Modificado el Mie, 2 Oct, 2019 a 12:45 A. M. por Nahuel Leandro Gimeno

DCPROMO: Error Los Servicios de dominio de Active Directory no pudieron transferir los datos que quedan en la partición.


En el artículo de hoy, vamos a dar solución a uno de los problemas más frecuentes cuando despromocionamos un servidor controlador de dominio que se encuentre ubicado en un Active Directory con una larga trayectoria y muchos años de antigüedad. Estamos hablando de dominios creados a partir de servidores Windows server 2000 o Windows server 2003 y, que han ido evolucionando con el tiempo hasta la actualidad con Windows server 2012/16 pasando por tener controladores de cominio Windows server 2008.

Nuestro laboratorio estará compuesto por los controladores de dominio de Active Directory siguientes:


ServerDC.dom.local - Sistema Operativo instalado Windows server 2008

Es el servidor que ostentaba hasta el momento los cinco roles Flexible single master operation de nuestro dominio de Active Directory. Hemos traspasado las cinco funciones FSMO al nuevo servidor llamado DC.dom.local.

Actualmente solo tiene el servicio de DNS y será el servidor que queremos despromocionar en nuestro laboratorio.

DC.dom.local - Sistema Operativo instalado  Windows server 2012 R2

Queremos que sea nuestro nuevo controlador de dominio de Active directory y actualmente tiene los  cinco roles Flexible single master operation (FSMO) también tiene instalados los servicios de DNS.

El nivel funcional de nuestro BosqueDominio (dom.local) de Active Directory es Windows 2003.

DC1.dom.local - Sistema Operativo instalado  Windows server 2003

Es un segundo controlador de dominio de nuestra arquitectura y también tienen instalados los servicios de DNS DHCP.

Servidor.dom.local - Sistema Operativo instalado  Windows server 2003

El equipo llamado servidor.dom.local, es un antiguo controlador de dominio de Active Directory que tiempo atrás se estropeó y se tubo que realizar una acción de limpieza de los Metadatos para poder eliminarlo por completo de nuestro Directorio Activo.

Si no estáis familiarizados con el proceso de la limpieza de Metadatos de un servidor caído usando la herramienta NTDSUTIL, podéis consultar el enlace siguiente:
Es muy importante que sepáis de la existencia de este cuarto servidor que actualmente no existe en nuestra organización porqué, es el causante de todo nuestro el problema.

 Nuestro laboratorio estará compuesto por los controladores de dominio de Active Directory siguientes.



El error sucede cuando, después de haber traspasado las cinco funciones Flexible single master operation (FSMO) a un nuevo servidor sin tener ningún problema, ejecutamos el comando DCPROMO en el antiguo controlador de dominio para eliminar los servicios de Active Directory.

Si no estamos familiarizados con el proceso de traspaso de las cinco funciones Flexible single master operation de un servidorpodéis consultar los enlaces siguientes:
En el inicio del proceso de despromoción, aparecerá el error que mostramos a continuación y finalizará el asistente.

"Error en la operación debido a:

Los Servicios de Active Directory no pudieron transferir los datos que quedan en la 


partición de directorio DC=ForestDNSZones,DC=DOM,DC=LOCAL al controlador de dominio de 


Active Directory \\DC.DOM.LOCAL.


"No se encuentra la información obligatoria de configuración en el servicios de directorio 


por lo que éste no puede determinar quién es el responsable de llevar a cabo los roles para 


operaciones de maestro único flotante (FSMO).""

El proceso completo de una despromoción sin errores de un controlador de doninio de Active Directory, lo encontrareis en el enlace siguiente:
Error en la operación debido a:  Los Servicios de Active Directory no pudieron transferir los datos que quedan en la   partición de directorio DC=ForestDNSZones

Si nos dirigimos a la carpeta C:\Windows\Debug del servidor que queremos despromocionar, encontraremos un archivo llamado DCPROMO.LOG, que debemos abrir usando la herramienta Notepad.exe.

Buscaremos, en el contenido del archivo y muy probablemente encontraremos el error que mostramos a continuación.

Si nos fijamos en el error en cuestión, comprobaremos que está haciendo referencia al antiguo caído que se ha limpiado de nuestro Directorio Activo en el pasado, todo nuestro problema reside en que han quedado rastros en nuestro sistema del antiguo servidor caído llamado servidor.dom.local y evidentemente no puede encontrarlo.

"Las operaciones que requieran ponerse en contacto con un maestro de operaciones FSMO producirán errores hasta que se corrija esta condición.

Rol FSMO: CN=Infrastructure,DC=ForestDnsZones,DC=DOM,DC=local

DN del servidor FSMO: CN=NTDS Settings\0ADEL:6b60fec3-2a24-4ce6-a760-b45eb34cfcca,CN=SERVIDOR\0ADEL:c8112ab1-b6eb-4db5-a03f-857b3d3593e2,CN=Servers,CN=Nombre-predeterminado-primer-sitio,CN=Sites,CN=Configuration,DC=DOM,DC=local

Acción del usuario:

1. Determine qué servidor debe contener el rol en cuestión.

2. Puede que la vista de configuración no esté actualizada. Si el servidor en cuestión se promovió recientemente, compruebe que la partición de configuración se replicó recientemente desde el nuevo servidor. Si el servidor en cuestión se degradó recientemente y la función se transfirió, compruebe que el servidor haya replicado recientemente la partición que contiene la propiedad más reciente del rol.

3. Determine si el rol se estableció correctamente en el servidor que contiene la función FSMO. Si el rol no está establecido, use NTDSUTIL.EXE para transferirlo o asumirlo. Esto puede realizarse por medio de los pasos que se proporcionan en los artículos de KB 255504 y 324801, disponibles en http://support.microsoft.com.

4. Compruebe que la replicación de la partición FSMO entre el servidor que contiene la función FSMO y este servidor se esté realizando correctamente.

Puede que las siguientes operaciones se vean afectadas:

Esquema: ya no podrá modificar el esquema de este bosque.

Nombres de dominio: ya no podrá agregar ni quitar dominios en este bosque.

PDC: ya no podrá realizar operaciones de controlador de dominio principal, como actualizar directivas de grupo o restablecer contraseñas para cuentas que no pertenezcan a los Servicios de dominio de Active Directory.

RID: ya no podrá asignar nuevos identificadores de seguridad para nuevas cuentas de usuario, cuentas de equipo ni grupos de seguridad.

Infraestructura: las referencias de nombre entre dominios, como la pertenencia a grupos universales, no se actualizarán correctamente si el objeto de destino se mueve o cambia de nombre.

12/28/2016 11:13:10 [INFO] EVENTLOG (Error): NTDS Replication / Replicación : 2022
Los roles de maestro de operaciones hospedados en este servidor de directorio no se han podido transferir al siguiente servidor de directorio remoto.

Servidor de directorio remoto:
\\DC.DOM.local

Esto impide la eliminación de este servidor de directorio.

Acción del usuario

Investigue por qué el servidor de directorio remoto parece no aceptar los roles de maestro de operaciones o transfiera manualmente todos los roles hospedados en este servidor de directorio al servidor de directorio remoto. A continuación, intente quitar este servidor de nuevo.

Datos adicionales

Valor de error:
5005 No se encuentra información obligatoria de configuración en el servicio de directorio por lo que éste no puede determinar quién es el responsable de llevar a cabo los roles para operaciones de maestro único flotante (FSMO).

Valor de error extendido:
0

Id. interno:
52498782"

0ADEL:6b60fec3-2a24-4ce6-a760-b45eb34cfcca

En primer lugar, abriremos una nueva ventana del Bloc de Notas de Windows y copiaremos el script que detallamos a continuación, este script ha sido extraído de la página oficial de Microsoft.
Una vez copiado el contenido del script guardaremos el archivo con el nombre fixfsmo.vbs.

'-------fixfsmo.vbs------------------
const ADS_NAME_INITTYPE_GC = 3
const ADS_NAME_TYPE_1779 = 1
const ADS_NAME_TYPE_CANONICAL = 2

set inArgs = WScript.Arguments

if (inArgs.Count = 1) then
    ' Assume the command line argument is the NDNC (in DN form) to use.
    NdncDN = inArgs(0)
Else
    Wscript.StdOut.Write "usage: cscript fixfsmo.vbs NdncDN"
End if

if (NdncDN <> "") then

    ' Convert the DN form of the NDNC into DNS dotted form.
    Set objTranslator = CreateObject("NameTranslate")
    objTranslator.Init ADS_NAME_INITTYPE_GC, ""
    objTranslator.Set ADS_NAME_TYPE_1779, NdncDN
    strDomainDNS = objTranslator.Get(ADS_NAME_TYPE_CANONICAL)
    strDomainDNS = Left(strDomainDNS, len(strDomainDNS)-1)
   
    Wscript.Echo "DNS name: " & strDomainDNS

    ' Find a domain controller that hosts this NDNC and that is online.
    set objRootDSE = GetObject("LDAP://" & strDomainDNS & "/RootDSE")
    strDnsHostName = objRootDSE.Get("dnsHostName")
    strDsServiceName = objRootDSE.Get("dsServiceName")
    Wscript.Echo "Using DC " & strDnsHostName

    ' Get the current infrastructure fsmo.
    strInfraDN = "CN=Infrastructure," & NdncDN
    set objInfra = GetObject("LDAP://" & strInfraDN)
    Wscript.Echo "infra fsmo is " & objInfra.fsmoroleowner

    ' If the current fsmo holder is deleted, set the fsmo holder to this domain controller.

    if (InStr(objInfra.fsmoroleowner, "\0ADEL:") > 0) then

        ' Set the fsmo holder to this domain controller.
        objInfra.Put "fSMORoleOwner",  strDsServiceName
        objInfra.SetInfo

        ' Read the fsmo holder back.
        set objInfra = GetObject("LDAP://" & strInfraDN)
        Wscript.Echo "infra fsmo changed to:" & objInfra.fsmoroleowner

    End if

End if

 abriremos una nueva ventana del Bloc de Notas de Windows y copiaremos el script que detallamos a continuación
Seguidamente, abriremos una nueva ventana de CMD con permisos de Administrador en el controlador de dominio que queremos despromocionar.

Nos situaremos en el directorio que hayamos emplazado el fichero del script fixfsmo.vbs y ejecutaremos el comando que mostramos a continuación. Este comando nos creará un archivo en la misma ubicación en la que nos encontremos, en nuestro ejemplo el directorio dónde se encuentra el script, este nuevo archivo, en nuestro laboratorio lo llamaremos Infra_ForestDNSZones.ldf.

ldifde -f Infra_ForestDNSZones.ldf -d "CN=Infrastructure,DC=ForestDnsZones,DC=DOM,DC=local" -l fSMORoleOwner

Si consultamos su contenido tiene que ser algo parecido al que mostramos a continuación:

"dn: CN=Infrastructure,DC=ForestDnsZones,DC=DOM,DC=local
changetype: add
fSMORoleOwner: 
 CN=NTDS Settings\0ADEL:6b60fec3-2a24-4ce6-a760-b45eb34cfcca,CN=SERVIDOR\0ADEL
 :c8112ab1-b6eb-4db5-a03f-857b3d3593e2,CN=Servers,CN=Nombre-predeterminado-prim

 er-sitio,CN=Sites,CN=Configuration,DC=DOM,DC=local"

En el interior de archivo Infra_ForestDNSZones.ldf encontraremos el contenido del atributo fSMORoleOwner de nuestro Directorio Activo.

La siguiente ejecución que haremos será el script fixfsmo.vbs que hemos creado en los pasos anteriores, este modificará el contenido actual y erroneo del atributo del objeto fSMORoleOwner de la infraestructura especificada en Non-Domain Naming Context (NDNC), y lo modificará a un servidor activo y al que podamos contactar en nuestro dominio de Active Directory.

El Non-Domain Naming Context (NDNC), en nuestro ejemplo será el siguiente DC=ForestDnsZones, DC=DOM, DC=LOCAL.

Para ejecutar el script ejecutaremos el comando siguiente:

cscript fixfsmo.vbs DC=ForestDnsZones,DC=DOM,DC=LOCAL

Verificaremos que los cambios realizados por el script sean correctos, ejecutando nuevamente el comando que mostramos a continuación y que ya hemos ejecutado con anterioridad, seguidamente abriremos el archivo resultante y comprobaremos su contenido, como en el caso anterior su nombre será Infra_ForestDNSZones.ldf

ldifde -f Infra_ForestDNSZones.ldf -d "CN=Infrastructure,DC=ForestDnsZones,DC=DOM,DC=local" -l fSMORoleOwner

Su contenido tiene que ser algo parecido al que mostramos seguidamente, como podréis comprobar fSMORoleOwner apunta a nuestro nuevo servidor controlador de dominio Windows 2012 R2 llamado ServerDC.dom.local:

dn: CN=Infrastructure,DC=ForestDnsZones,DC=dom,DC=local
changetype: add
fSMORoleOwner: 
 CN=NTDS Settings,CN=ServerDC,CN=Servers,CN=Nombre-predeterminado-primer-sitio,CN=Si
 tes,CN=Configuration,DC=dom,DC=local


Una vez realizados los cambios en el atributo fSMORoleOwner, ejecutaremos nuevamente DCPROMO. Podría suceder, como en es en nuestro ejemplo, que nos apareciera nuevamente el error.

Comprobaremos que en este caso se refiere a DC=DomainDNSZones,DC=DOM,DC=LOCAL y no, como en el caso anterior, que el asistente se quejaba de un error en DC=ForestDNSZones,DC=DOM,DC=LOCAL.

"Error en la operación debido a:

Los Servicios de Active Directory no pudieron transferir los datos que quedan en la 

partición de directorio DC=DomainDNSZones,DC=DOM,DC=LOCAL al controlador de dominio de 

Active Directory \\DC.DOM.LOCAL.

"No se encuentra la información obligatoria de configuración en el servicios de directorio 

por lo que éste no puede determinar quién es el responsable de llevar a cabo los roles para 

operaciones de maestro único flotante (FSMO).""

Cerraremos por segunda vez el asistente de DCPROMO y repetiremos todos los pasos anteriores con alguna variación.

Error en la operación debido a:  Los Servicios de Active Directory no pudieron transferir los datos que quedan en la   partición de directorio DC=DomainDNSZones

Abriremos nuevamente una ventana de CMD con permisos de Administrador en el controlador de dominio de Active Directory que queremos despromocionar.

Nos situaremos en el directorio que hayamos copiado el fichero del script fixfsmo.vbs y ejecutaremos nuevamente el comando que mostramos a continuación, en esta ocasión cambiaremos  ForestDnsZones por DomainDnsZones y nos volverá a crear un archivo en la misma ubicación del script llamado, Infra_DomainDNSZones.ldf

ldifde -f Infra_DomainDNSZones.ldf -d "CN=Infrastructure,DC=DomainDnsZones,DC=DOM,DC=local" -l fSMORoleOwner

Su contenido tiene que ser algo parecido a esto:

dn: CN=Infrastructure,DC=DomainDnsZones,DC=DOM,DC=local
changetype: add
fSMORoleOwner: 
 CN=NTDS Settings\0ADEL:6b60fec3-2a24-4ce6-a760-b45eb34cfcca,CN=SERVIDOR\0ADEL
 :c8112ab1-b6eb-4db5-a03f-857b3d3593e2,CN=Servers,CN=Nombre-predeterminado-prim
 er-sitio,CN=Sites,CN=Configuration,DC=DOM,DC=local

Volveremos a ejecutar el script 
fixfsmo.vbs para modificar el atributo en el objeto  fSMORoleOwner en nuestra infraestructura y así cambiar el contenido actul y erróneo a un servidor al que podamos contactar de nuestro dominio.

El Non-Domain Naming Context (NDNC) en este caso segundo será DC=DomainDnsZones, DC=DOM, DC=LOCAL.

Para ejecutar el script en esta segunda ocasión ejecutaremos la construcción del comando siguiente:

cscript fixfsmo.vbs DC=DomainDnsZones,DC=DOM,DC=LOCAL

Como en el caso anterior, verificaremos que todos cambios realizados sean correctos ejecutando por segunda vez el comando que mostramos a continuación, seguidamente abriremos el archivo resultante y verificaremos el contenido del archivo Infra_DomainDNSZones.ldf

ldifde -f Infra_DomainDNSZones.ldf -d "CN=Infrastructure,DC=DomainDnsZones,DC=DOM,DC=local" -l fSMORoleOwner

Su contenido tiene que ser algo parecido a esto, como podréis comprobar fSMORoleOwner apunta a nuestro nuevo servidor Windows 2012 R2 llamado ServerDC.dom.local:

dn: CN=Infrastructure,DC=DomainDnsZones,DC=DOM,DC=local
changetype: add
fSMORoleOwner: 
 CN=NTDS Settings,CN=ServerDC,CN=Servers,CN=Nombre-predeterminado-primer-sitio,CN=Si
 tes,CN=Configuration,DC=DOM,DC=local


Una vez hayamos realizado los cambios necesarios en el atributo fSMORoleOwner, ejecutaremos nuevamente DCPROMO.

Esta vez finalizaremos con éxito la despromoción del controlador de dominio.

Espero os sea de utilidad.

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo