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.
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 Bosque y Dominio (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 y DHCP.
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 Bosque y Dominio (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 y 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.
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.
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 servidor, podéis consultar los enlaces siguientes:
- Active Directory: Migrar Roles FSMO de Windows 2003 a 2012 - Parte1.
- Active Directory: Migrar Roles FSMO de Windows 2003 a 2012 - Parte2.
- Active Directory: Migrar Roles FSMO de Windows 2003 a 2012 - Parte3.
- Active Directory: Transferir funciones FSMO mediante línea de comandos.
"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:
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"
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
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
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.
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.
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:
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.
Esta vez finalizaremos con éxito la despromoción del controlador de dominio.
Espero os sea de utilidad.
Enlaces relacionados
Renombrar un Dominio de Active Directory - Parte 01.
Parte 1 Preparativos de Active Directory y Exchange 2010.
Parte 8 Transferencia de los buzones de la base de datos de Exchange.
Cómo limpiar un DC irrecuperable usando las herramientas GUI
Ubicar la base de datos del servidor Exchange 2010.Parte 6 Configurar Outlook Anywhere.
Parte 7 Configurar Certificado de Microsoft Exchange 2013.
Cómo listar objetos de Active Directory a un archivo CSV.
Parte 8 Transferencia de los buzones de la base de datos de Exchange.
Cómo limpiar un DC irrecuperable usando las herramientas GUI
Ubicar la base de datos del servidor Exchange 2010.Parte 6 Configurar Outlook Anywhere.
Parte 7 Configurar Certificado de Microsoft Exchange 2013.
Cómo listar objetos de Active Directory a un archivo CSV.
Me funcionó, gracias.
ResponderEliminarGracias a ti por leer Pantallazos.es!!!
EliminarGracias, me funciono perfect!!
ResponderEliminarMe alegro muchísimo!!! Recuerda que también tenemos un canal de YouTube donde encontrarás tutoriales de administración de sistemas informáticos, puedes suscribirte!!!!
Eliminarfuncionó gracias ;)
ResponderEliminarMuchas Gracias,
EliminarRecuerda que también tenemos un canal de YouTube al que puedes suscribirte si te interesan nuestros contenidos, un abrazo.
Me funcionó perfecto. Muchas gracias.
ResponderEliminarMuchas Gracias,
EliminarRecuerda que también tenemos un canal de YouTube al que puedes suscribirte si te interesan nuestros contenidos, un abrazo.
Fantástico!!! me funcionó! Muchas gracias.
ResponderEliminarMuchas Gracias,
EliminarRecuerda que también tenemos un canal de YouTube al que puedes suscribirte si te interesan nuestros contenidos, un abrazo.
Muy buen Tutorial, te felicito me fue de mucha ayuda.
ResponderEliminarbuena explicacion, !
ResponderEliminarMuchas gracias, fue de gran ayuda.
ResponderEliminarmillll gracias
ResponderEliminarEstimado yo tengo un problema, el servidor a despromocionar ya no existe y tengo el mismo problema aplicaria esta misma solucion???
ResponderEliminar