Uso de herramientas de diagnóstico para un Controlador de Dominio

 

Uso de herramientas de diagnóstico para un Controlador de Dominio para Windows 2000, Windows 2003 o Windows 2008,

A continuación de describen recursos y herramientas de los que un administrador de sistemas dispone a mano para poder llevar a cabo ante determinadas circunstancias tareas tan necesarias como pueden ser la verificación de las réplicas entre Controladores de Dominio, repaso de la sincronización horaria, chequeo de puertos necesarios para el Directorio Activo, registros necesarios en un servidor DNS, etc...

El documento es orientativo y hay que destacar siempre que su uso puede depender de las diferentes circunstancias y situaciones que se puedan dar a la hora de tener que realizar diagnósticos, chequeos y diferentes operaciones de mantenimiento sobre nuestro Directorio Activo y Controladores de Dominio que lo mantienen.

 

Qué saber antes de empezar: breve introducción al Directorio Activo

Antes de poder montar una infraestructura de red basada en los servicios de directorio de Microsoft (Directorio Activo), es necesario tener claro los conceptos y funciones principales que hacen posible que dicha tecnología sirva para implementar una solución y no un problema. Es por eso que hay que conocer muy bien los conceptos básicos que se interrelacionan entre sí a la hora de hacer funcionar el Directorio Activo. A continuación se expone una breve lista y una pequeña descripción de lo que una persona debe conocer antes de implementar una solución con el Directorio Activo; sería muy recomendable que se repasaran dichos términos/tecnologías en la propia ayuda del sistema o en la web de Microsoft para poder comprender mejor el funcionamiento de lo que se va a explicar:

 

Directorio Activo, ¿qué es?
El Directorio Activo es el servicio de directorio de Microsoft…pero, ¿qué es un servicio de directorio?
Un servicio de directorio es como una base de datos para guardar gran cantidad de información y poder consultarla, agruparla, modificarla, etc.; haciendo un ejemplo, es como si fuera una agenda donde vamos a guardar y organizar la información que para nosotros es necesaria y útil.
Por tanto, en el Directorio Activo guardaremos la información útil para la empresa, y después poder hacer diversos tipos de acciones sobre dicha información.

DNS
El servicio de DNS sirve para la resolución de nombres de máquina a una dirección IP y viceversa. Además, para el Directorio Activo, es su base, o mejor dicho, son sus cimientos; si el DNS no está bien configurado o tiene problemas, entonces nuestro diseño de Directorio Activo no funcionará adecuadamente y nos dará más problemas que soluciones, ya que el Directorio Activo usa el servicio de DNS para poder dejar información que después las estaciones de trabajo tendrán que poder consultar para interactuar correctamente con el servicio de directorio (validación, consultas, búsquedas, etc.).

 

Maestros de Operaciones (FSMO) y Global Catalog
A pesar de que a partir de Windows 2000 Server se ha cambiado el modelo de réplicas basado en “maestro-esclavo” como había en NT4 (el servidor que hacía de PDC actualizaba los cambios y después replicaba a los BDC que pudiera haber) a “multimaestro” (cualquier DC puede actualizar los datos y después replicarlos con el resto de DC’s), hay que tener en cuenta que ciertas operaciones “críticas” e incluso cotidianas sólo pueden ser llevadas a cabo por determinados DC que lleven alguno de los roles especiales. Esos roles sirven para concretar unas funciones específicas a llevar a cabo por un DC, por lo tanto, es muy importante comprender la función de éstos y las consecuencias que puede haber en caso de una caída (en el apartado A.3 Implicaciones de un DC, FSMO o Global Catalog caído se puede ver más detaalladamente una lista de posibles implicaciones). A continuación podemos ver una serie de enlaces donde se explican y detallan estos roles especiales:

 

Sitios (sites)
Un site es simplemente una agrupación de subredes lógicas, mediante la cual, el servicio de directorio será capaz de generar internamente y de manera transparante la topología de replicación entre servidores de subredes con buena comunicación entre sí, dar la posibilidad de establecer horarios e intervalos de replicación entre DC’s de diferentes subredes que no tengan tan buena comunicación y aprovechar así mejor el ancho de banda, o para poder resolver mejor las peticiones de un cliente (así, por ejemplo, es posible que un cliente quiera consultar un servidor que sea Global Catalog; según la subred a la que pertenezca el cliente, y si está está definida en algún site, el servicio de directorio será capaz de proporcionar a ese cliente una respuesta informándole de los servidores de Global Catalog a los que más “fácil y rápidamente” puedan conectar para llevar a cabo su petición, y evitar así, por ejemplo, responderle con un GC que pudiera estar en una subred con un ancho de banda muy bajo).

 

 

Digamos que estos 4 puntos descritos son los pilares básicos que deben conocerse y entenderse para poder llevar a cabo una correcta implementación basada en una solución de Directorio Activo (por supuesto, por debajo hay mucho más que se puede ver mirando muchos de los enlaces o documentación aquí adjunta o en la web de Microsoft).

Si alguna función o parte de estos 4 puntos falla, por la causa que sea, supondrá un problema ya que podremos empezar a experimentar ciertos y diversos “comportamientos extraños” con nuestro Directorio Activo.

Problemas tan diversos como la imposibilidad de que un usuario inicie sesión, que un DC deje de replicar con otro, no poder abrir una consola de gestión, o que no podamos unir máquinas al dominio pueden darse si no implementamos correctamente nuestro Directorio Activo.

Es importante recalcar que la mayor parte de los problemas más comunes o cotidianos, se suelen deber en gran parte a una mala configuración DNS, tanto del servidor como en la parte cliente, de ahí que sea necesario recalcar que si no entendemos bien el funcionamiento de un DNS ni su implicación y relación estrechísima con el Directorio Activo, tendremos entonces muchos problemas en muchas partes que afecten a los clientes; por ejemplo, no se aplicarán correctamente las políticas de grupo; los clientes no podrían localizar servidores para hacer consultas y peticiones como puede ser un servidor para el inicio de sesión; la réplica entre DC’s falla debido a que no son capaces de conectar correctamente entre sí, etc.

La definición de sites también es importantísima, ya que con ella podemos evitar que un cliente de una sede, por ejemplo, se valide en un DC de otra sede de otro país teniendo un DC en su misma subred u otra más accesible. O evitar que un DC de una sede replique con otro de otra sede en horas de trabajo, restando y degradando así el ancho de banda, seguramente más necesario a esas horas para otro tipo de operaciones. Es común también pensar que si en una subred remota no hay ningún DC, no es necesario definirla porque no va a afectar a nuestro diseño ya que mucha gente piensa que los sites sólo son útiles de cara a los DC’s para replicar entre sí. Nada más lejos de la realidad. Como hemos explicado, los sites no sólo sirven para que los DC’s repliquen a horas e intervalos establecidos…si no para que clientes de esa subred puedan localizar servicios en subredes más próximas o con mejor ancho de banda que otras posibles que pueda haber sin tener que generar tráfico de red innecesario o siquiera obtener una respuesta adecuada. Un ejemplo claro como hemos dicho antes, puede ser una oficina pequeña de 5 puestos de trabajo, que no tengan ningún DC en esa oficina. Para iniciar sesión tendrán que localizar un DC, y por tanto, preguntarán al DNS por un servidor válido para ello; si no hay una definición de sites correcta, es posible que el DNS le responda cualquier servidor que pueda estar en una sede remota con un ancho de banda pésimo…con lo cual ya tenemos un problema grave; en cambio, si hay una definición de Sites adecuada, el DNS habrá registrado mediante el servicio de directorio qué DC’s pueden ser los más “óptimos” para esa pequeña red remota a la hora de proporcionarles el inicio de sesión. U otro ejemplo menos visto puede darse en el acceso a un recurso de DFS que puede estar replicado en varios servidores. Con la definición de sites, un cliente podrá saber qué servidor es el más “próximo” o propicio para acceder a dicho DFS; sin la definición de sites y subredes, no.

Se pueden dar muchísimos más casos, y es por ello que a continuación se describen una serie de herramientas y procedimientos que podemos usar para intentar detectar y solventar los problemas que se nos puedan presentar.

Realizar un diagnóstico del DC

Ante algún posible fallo relacionado con el AD, lo primero que podemos mirar es el resultado que se produce al ejecutar las siguientes herramientas de diagnóstico para el servicio de directorio (para poder hacer uso de ellas es necesario instalar las support tools del CD de Windows 2003):

 

1. DCDIAG
Esta herramienta sirve para hacer una serie de test a los DC’s del dominio o bosque con el fin de poder encontrar algún error entre ellos. Un ejemplo de un dcdiag de un DC que esté funcionando correctamente puede ser el siguiente:


Domain Controller Diagnosis

Performing initial setup:
Done gathering initial info.

Doing initial required tests

Testing server: Default-First-Site-Name\DCLAB1
Starting test: Connectivity
......................... DCLAB1 passed test Connectivity

Doing primary tests

Testing server: Default-First-Site-Name\DCLAB1
Starting test: Replications
......................... DCLAB1 passed test Replications
Starting test: NCSecDesc
......................... DCLAB1 passed test NCSecDesc
Starting test: NetLogons
......................... DCLAB1 passed test NetLogons
Starting test: Advertising
......................... DCLAB1 passed test Advertising
Starting test: KnowsOfRoleHolders
......................... DCLAB1 passed test KnowsOfRoleHolders
Starting test: RidManager
......................... DCLAB1 passed test RidManager
Starting test: MachineAccount
......................... DCLAB1 passed test MachineAccount
Starting test: Services
IsmServ Service is stopped on [DCLAB1]
......................... DCLAB1 failed test Services
Starting test: ObjectsReplicated
......................... DCLAB1 passed test ObjectsReplicated
Starting test: frssysvol
......................... DCLAB1 passed test frssysvol
Starting test: frsevent
......................... DCLAB1 passed test frsevent
Starting test: kccevent
......................... DCLAB1 passed test kccevent
Starting test: systemlog
......................... DCLAB1 passed test systemlog
Starting test: VerifyReferences
......................... DCLAB1 passed test VerifyReferences

Running partition tests on : ForestDnsZones
Starting test: CrossRefValidation
......................... ForestDnsZones passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... ForestDnsZones passed test CheckSDRefDom

Running partition tests on : DomainDnsZones
Starting test: CrossRefValidation
......................... DomainDnsZones passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... DomainDnsZones passed test CheckSDRefDom

Running partition tests on : Schema
Starting test: CrossRefValidation
......................... Schema passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... Schema passed test CheckSDRefDom

Running partition tests on : Configuration
Starting test: CrossRefValidation
......................... Configuration passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... Configuration passed test CheckSDRefDom

Running partition tests on : laboratorio
Starting test: CrossRefValidation
......................... laboratorio passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... laboratorio passed test CheckSDRefDom

Running enterprise tests on : laboratorio.test
Starting test: Intersite
......................... laboratorio.test passed test Intersite
Starting test: FsmoCheck
......................... laboratorio.test passed test FsmoCheck


 

Una opción interesante para chequear con ésta herramienta es que el DC haya registrado correctamente en los DNS los registros necesarios para que sea reconocido y anunciado en el AD como un DC válido:

dcdiag /test:registerindns /dnsdomain:FQDN /v
ej:
dcdiag /test:registerindns /dnsdomain:Laboratorio.test /v

La salida del comando si está correcto será:

www.bujarra.com

En caso de que el resultado no sea correcto habría que repasar los DNS que tiene configurado a nivel de la conexión de red para verificar que son los adecuados.

 

2. NETDIAG
Esta herramienta sirve para hacer una serie de test a nivel de red y conexiones en el DC que se lanza. Un ejemplo de un netdiag puede ser el siguiente:
>


    Computer Name: DCLAB1
    DNS Host Name: dclab1.laboratorio.test
    System info : Windows 2000 Server (Build 3790)
    Processor : x86 Family 15 Model 2 Stepping 9, GenuineIntel
    List of installed hotfixes :
        KB819696
        KB823182
        KB823353
        KB823559
        KB824105
        KB824141
        KB824151
        KB825119
        KB828035
        KB828741
        KB833987
        KB834707
        KB835732
        KB837001
        KB839643
        KB839645
        KB840315
        KB840374
        KB840987
        KB841356
        KB841533
        KB867460
        KB867801
        KB873376
        Q147222
        Q828026

Netcard queries test . . . . . . . : Passed

Per interface results:

    Adapter : LAN-Desarrollo

        Netcard queries test . . . : Passed

        Host Name. . . . . . . . . : dclab1
        IP Address . . . . . . . . : 192.168.102.101
        Subnet Mask. . . . . . . . : 255.255.255.0
        Default Gateway. . . . . . : 192.168.102.1
        Dns Servers. . . . . . . . : 213.163.5.137

        AutoConfiguration results. . . . . . : Passed

        Default gateway test . . . : Failed
            No gateway reachable for this adapter.

        NetBT name test. . . . . . : Passed
        [WARNING] At least one of the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names is missing.

        WINS service test. . . . . : Skipped
            There are no WINS servers configured for this interface.

    Adapter : Virtual_Interna

        Netcard queries test . . . : Passed

        Host Name. . . . . . . . . : dclab1
        IP Address . . . . . . . . : 10.1.1.1
        Subnet Mask. . . . . . . . : 255.255.255.0
        Default Gateway. . . . . . :
        Dns Servers. . . . . . . . : 10.1.1.1
                                     10.1.1.2

        AutoConfiguration results. . . . . . : Passed

        Default gateway test . . . : Skipped
            [WARNING] No gateways defined for this adapter.

        NetBT name test. . . . . . : Passed
        [WARNING] At least one of the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names is missing.
            No remote names have been found.

        WINS service test. . . . . : Skipped
            There are no WINS servers configured for this interface.

Global results:

Domain membership test . . . . . . : Passed

NetBT transports test. . . . . . . : Passed
    List of NetBt transports currently configured:
        NetBT_Tcpip_{91873FE9-2F61-4E21-947C-E99F39ABF65E}
        NetBT_Tcpip_{B8D698CD-89BC-4E98-B2A6-B5F1616783EE}
    2 NetBt transports currently configured.

Autonet address test . . . . . . . : Passed

IP loopback ping test. . . . . . . : Passed

Default gateway test . . . . . . . : Failed

    [FATAL] NO GATEWAYS ARE REACHABLE.
    You have no connectivity to other network segments.
    If you configured the IP protocol manually then
    you need to add at least one valid gateway.

NetBT name test. . . . . . . . . . : Passed
    [WARNING] You don't have a single interface with the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names defined.

Winsock test . . . . . . . . . . . : Passed

DNS test . . . . . . . . . . . . . : Passed
          [WARNING] Cannot find a primary authoritative DNS server for the name
            'dclab1.laboratorio.test.'. [ERROR_TIMEOUT]
            The name 'dclab1.laboratorio.test.' may not be registered in DNS.
       [WARNING] The DNS entries for this DC cannot be verified right now on DNS server 213.163.5.137, ERROR_TIMEOUT.
    PASS - All the DNS entries for DC are registered on DNS server '10.1.1.1' and other DCs also have some of the names registered.
    PASS - All the DNS entries for DC are registered on DNS server '10.1.1.2' and other DCs also have some of the names registered.

Redir and Browser test . . . . . . : Passed
    List of NetBt transports currently bound to the Redir
        NetBT_Tcpip_{91873FE9-2F61-4E21-947C-E99F39ABF65E}
        NetBT_Tcpip_{B8D698CD-89BC-4E98-B2A6-B5F1616783EE}
    The redir is bound to 2 NetBt transports.

    List of NetBt transports currently bound to the browser
        NetBT_Tcpip_{91873FE9-2F61-4E21-947C-E99F39ABF65E}
        NetBT_Tcpip_{B8D698CD-89BC-4E98-B2A6-B5F1616783EE}
    The browser is bound to 2 NetBt transports.

DC discovery test. . . . . . . . . : Passed

DC list test . . . . . . . . . . . : Passed

Trust relationship test. . . . . . : Skipped

Kerberos test. . . . . . . . . . . : Passed

LDAP test. . . . . . . . . . . . . : Passed

Bindings test. . . . . . . . . . . : Passed

WAN configuration test . . . . . . : Skipped
    No active remote access connections.

Modem diagnostics test . . . . . . : Passed

IP Security test . . . . . . . . . : Skipped

    Note: run "netsh ipsec dynamic show /?" for more detailed information

The command completed successfully


 

3. REPADMIN
Esta herramienta sirve para comprobar las réplicas entre los servidores. A continuación se muestra un ejemplo en el que se ven las réplicas establecidas y llevadas a cabo por el servidor “server1”:

repadmin /showrepl server1.microsoft.com
Press Enter and the following output is displayed:


repadmin /showrepl server1.microsoft.com
Building7a\server1
DC Options : IS_GC
Site OPtions: (none)
DC object GUID : 405db077-le28-4825-b225-c5bb9af6f50b
DC invocationID: 405db077-le28-4825-b225-c5bb9af6f50b

==== INBOUND NEIGHBORS ======================================

CN=Schema,CN=Configuration,DC=microsoft,Dc=com
    Building7b\server2 via RPC
         objectGuid: e55c6c75-75bb-485a-a0d3-020a44c3afe7
         last attempt @ 2002-09-09 12:25.35 was successful.

 

CN=Configuration,DC=microsoft,Dc=com
    Building7b\server2 via RPC
          objectGuid: e55c6c75-75bb-485a-a0d3-020a44c3afe7
         last attempt @ 2002-09-09 12:25.10 was successful.

 

DC=microsoft,Dc=com
     Building7b\server2 via RPC
          objectGuid: e55c6c75-75bb-485a-a0d3-020a44c3afe7
          last attempt @ 2001-09-09 12:25.11 was successful


 

4. REPLMON
Es la utilidad gráfica del repadmin, y tiene las mismas funcionalidades pero de un modo más intuitivo y fácil de hacer e interpretar; puede comprobar el estado de la réplica entre las diferentes particiones del AD entre los diferentes DC’s implicados; forzar la sincronización entre ellos, ver errores de réplica o hacer testeos de los FSMO. A continuación se detallan las opciones más comunes y el uso de dicha herramienta. Para arrancarla basta ir a “StartàRun: replmon”:

www.bujarra.com

 

Para añadir un DC y empezar a hacer los diagnósticos, con el botón derecho sobre Monitored Servers elegimos la opción para añadir un DC:
                    
www.bujarra.com

 

Nos preguntará por cómo queremos añadir o buscar el DC, si por el nombre o a través del directorio; en nuestro ejemplo será a partir del directorio:

www.bujarra.com

 

A continuación elegiremos el site del que forme parte el DC a chequear y al propio Dc como tal:

www.bujarra.com

 

Tras ello veremos que aparece en pantalla el DC elegido y colgando de él todas las particiones del Directorio Activo que maneja y replica con el resto de DC’s implicados:

www.bujarra.com

 

Si expandimos cada una de las zonas podremos ver el resultado de la última sincronización que se haya efectuado con el resto de DC’s; si la sincronización es correcta aparecerá una imagen de un servidor en gris; si no ha sido así, aparecerá marcado con un aspa roja; podemos ver un ejemplo de ello a continuación:

www.bujarra.com

Si pinchamos sobre alguna de las particiones con error en la réplica podremos ver el log con el resultado de la operación:

www.bujarra.com

 

Si queremos complementar más información sobre posibles errores entre los DC’s podemos mirar también el visor de sucesos para buscar más datos al respecto. A parte, puede ser interesante en circunstancias determinadas activar a nivel de registro que los datos a recolectar en el visor de eventos sean más detallados. Para ello:

How to configure Active Directory diagnostic event logging in Windows Server http://support.microsoft.com/default.aspx?scid=kb;en-us;314980&sd=tech

 

Si lo que queremos es forzar la réplica de alguna de las particiones del AD con algún DC, basta con elegir dicha partición y con el botón derecho sobre ella seleccionar la opción de sincronizar con el DC elegido:

www.bujarra.com

 

www.bujarra.com

Una vez forzada la réplica podremos ver como hemos indicado antes en el log el resultado de la misma.

 

www.bujarra.com

Para ver los controladores de dominio presentes, seleccionamos nuestro DC y con el botón derecho sobre él elegimos la opción para mostrar los DC’s.

 

www.bujarra.com

Para ver los DC’s que sean además Global Catalog, hacemos lo mismo que anteriormente pero seleccionando dicha opción:

www.bujarra.com

 

www.bujarra.com

 

Si tuviéramos varios sitios y quisiéramos saber los DC’s designados como cabezas de puente para la replicación entre ellos podemos hacerlo de éste modo:

www.bujarra.com

 

Si no hay ninguno (como en éste ejemplo) el mensaje que se devuelve será:

www.bujarra.com

 

Si queremos ver los roles (si es que tiene) el DC o hacer testeos de los FSMO en el directorio, editamos las propiedades del Server monitorizado:

www.bujarra.com

www.bujarra.com

 

Para testear los FSMO, nos situamos en su pestaña y damos al botón del test:

www.bujarra.com

Pulsamos en Query...

 

www.bujarra.com

 

Si queremos ver qué “roles” o funciones definidas lleva éste DC, nos situamos sobre la pestaña de Server Flags:

www.bujarra.com

 

Si queremos ver las replicaciones Intra-Site de éste DC con otros, nos situamos sobre la pestaña de Inbound Replication Connection:

www.bujarra.com

 

Si queremos chequear que el KCC (el cual se encarga de generar y mantener el estado de las réplicas tanto intra como inter-site) esté funcionando adecuadamente:

www.bujarra.com

 

www.bujarra.com

 

Si queremos ver si hay algún error de objetos sin replicar entre los DC’s,  también podemos ir al menú de “ActionàDomainàSearch  DC for Replication Errors”:

www.bujarra.com

 

Nos aparecerá la siguiente ventana en la que deberemos pulsar sobre el botón Run Search para que comience el test:

www.bujarra.com

www.bujarra.com

Indicamos el nombre del dominio & "OK",

 

www.bujarra.com

 

Si hubiera algún error de réplicas aparecería en la pantalla anterior:

www.bujarra.com

 

5. PORTQRY
Esta herramienta sirve para comprobar la conectividad entre los servidores mediante  puertos TCP y UDP.

Por ejemplo, para verificar la conectividad al puerto 135 de un Server:

portqry /n 10.193.36.210 /p udp /e 135


Querying target system called:

 10.193.36.210

Attempting to resolve IP address to a name...

IP address resolved to RKTLABDC2

UDP port 135 (epmap service): LISTENING or FILTERED
Querying Endpoint Mapper Database...
Server's response:

UUID: a00c021c-2be2-11d2-b678-0000f87a8f8e PERFMON SERVICE
ncacn_np:\\\\RKTLABDC2[\\pipe\\000003b8.000]

...

UUID: d049b186-814f-11d1-9a3c-00c04fc9b232 NtFrs API
ncacn_np:\\\\RKTLABDC2[\\pipe\\000003b8.000]

Total endpoints found: 69

==== End of RPC Endpoint Mapper query response ====

UDP port 135 is LISTENING


A parte:

HOW TO: Use Portqry to Troubleshoot Active Directory Connectivity Issues: http://support.microsoft.com/default.aspx?scid=kb;EN-US;816103

 

6. NSLOOKUP
Se usa para hacer test de resolución de nombres en un servidor de DNS. Es muy recomendable hacer la verificación de que los registros de tipo SRV necesarios para que el AD funcione adecuadamente estén correctamente registrados en el DNS. Para ello, en un CMD escribimos nslookup, y a continuación set q=SRV. Tras ello _ldap._tcp.dc._msdcs.ActiveDirectoryDomainName. Un ejemplo de ello:

C:\nslookup


Default Server:  dc1.example.microsoft.com
Address:  10.0.0.14
 set type=srv
 _ldap._tcp.dc._msdcs.example.microsoft.com
Server:  dc1.example.microsoft.com
Address:  10.0.0.14
_ldap._tcp.dc._msdcs.example.microsoft.com   SRV service location:
          priority       = 0
          weight         = 0
          port           = 389
          svr hostname   = dc1.example.microsoft.com
_ldap._tcp.dc._msdcs.example.microsoft.com   SRV service location:
          priority       = 0
          weight         = 0
          port           = 389
          svr hostname   = dc2.example.microsoft.com
dc1.example.microsoft.com     internet address = 10.0.0.14
dc2.example.microsoft.com     internet address = 10.0.0.15


 

7. DSASTAT
Esta herramienta sirve para comparar y detector diferencias entre las bases de datos de directorio de los DC’s que pueda haber. Sirve de complemento a las anteriores.

Por ejemplo, para ver las diferencias que pueda haber entre 2 DC’s (dclab1 y dclab2, del dominio laboratorio.test), ejecutaremos lo siguiente en un CMD:

Dsastat –s:dclab1;dclab2 –b:DC=laboratorio,DC=test

 


El resultado será:

Stat-Only mode.
Unsorted mode.
Opening connections...
      dclab1...success.
Connecting to dclab1...
reading...
 **> ntMixedDomain = 0
reading...
 **> Options =
Setting server as [dclab1] as server to read Config Info...
      dclab2...success.
Connecting to dclab2...
reading...
 **> ntMixedDomain = 0
reading...
 **> Options =
 ignored attrType =    0x3, bIsRepl 2.5.4.3
 ignored attrType =    0xb, bIsRepl 2.5.4.11
BEGIN: Getting all special metadata attr info ...
  --> Adding special meta attrs, (3, cn)
  --> Adding special meta attrs, (6, c)
  --> Adding special meta attrs, (1376281, dc)
  --> Adding special meta attrs, (7, l)
  --> Adding special meta attrs, (591522, msTAPI-uid)
  --> Adding special meta attrs, (10, o)
  --> Adding special meta attrs, (11, ou)
END: Getting all special metadata attr info ...
No. attributes in schema     = 1070
No. attributes in replicated = 1015
No. attributes in PAS        = 151
Generation Domain List on server dclab1...
> Searching server for GC attribute partial set on property attributeId.
> Searching server for GC attribute partial set on property ldapDisplayName.
Retrieving statistics...
Paged result search...
Paged result search...
   Svr[dclab1]. Entries = 64.
   Svr[dclab2]. Entries = 64.
   Svr[dclab1]. Entries = 64.
   Svr[dclab2]. Entries = 64.
   Svr[dclab1]. Entries = 64.
   Svr[dclab2]. Entries = 64.
   Svr[dclab1]. Entries = 64.
  50 entries processed (7 msg queued, 0 obj stored, 0 obj deleted)... 100 entries processed (7 msg queued, 0 obj stored, 0 obj deleted)... 150 entries processed (7 msg queued, 0 obj stored, 0 obj deleted)... 200 entries processed (7 msg queued, 0 obj stored, 0 obj deleted)... 250 entries processed (7 msg queued, 0 obj stored, 0 obj deleted)... 300 entries processed (7 msg queued, 0 obj stored, 0 obj deleted)... 350 entries processed (7 msg queued, 0 obj stored, 0 obj deleted)... 400 entries processed (7 msg queued, 0 obj stored, 0 obj deleted)...   Svr[dclab2]. Entries = 64.
   Svr[dclab1]. Entries = 6.
   Svr[dclab2]. Entries = 6.
...(Terminated query to dclab1. <No result present in message>)
...(Terminated query to dclab2. <No result present in message>)
 450 entries processed (3 msg queued, 0 obj stored, 0 obj deleted)... 500 entries processed (3 msg queued, 0 obj stored, 0 obj deleted)...   --> Svr[dclab1] has returned 256 objects...   --> Svr[dclab2] has returned 244 objects...

                      -=>>|*** DSA Diagnostics ***|<<=-

Objects per server:
Obj/Svr                             dclab1 dclab2 Total

builtinDomain                       1          1          2
classStore                            1          1          2
computer                              3          3          6
container                             87        87       174
dfsConfiguration                  1          1          2
dnsNode                              59        59       118
dnsZone                               6          6         12
domainDNS                                     1          1          2
domainPolicy                      1          1          2
fileLinkTracking                    1          1          2
foreignSecurityPrincipal                   4          4          8
group                                   32        32        64
groupPolicyContainer                      3          3          6
infrastructureUpdate                        1          1          2
ipsecFilter                            2          2          4
ipsecISAKMPPolicy                         3          3          6
ipsecNFA                             8          8         16
ipsecNegotiationPolicy                    6          6         12
ipsecPolicy                           3          3          6
linkTrackObjectMoveTable              1          1          2
linkTrackVolumeTable                     1          1          2
lostAndFound                      1          1          2
mSMQConfiguration                        1          1          2
msDS-QuotaContainer                   1          1          2
nTFRSMember                                2          2          4
nTFRSReplicaSet                           1          1          2
nTFRSSettings                                1          1          2
nTFRSSubscriber                           2          2          4
nTFRSSubscriptions                       2          2          4
organizationalUnit                            2          2          4
rIDManager                          1          1          2
rIDSet                                   2          2          4
rpcContainer                        1          1          2
samServer                           1          1          2
secret                                   4          4          8
user                                     15        15        30
---
Total:                                  262      262      524
                             . . . . . . . . . . . . . .

Bytes per object:
Object                         Bytes
builtinDomain                  334
classStore                     322
computer                       4384
container                      32694
dfsConfiguration               362
dnsNode                        19328
dnsZone                        2022
domainDNS                      3350
domainPolicy                   370
fileLinkTracking               332
foreignSecurityPrincipal       1528
group                          25138
groupPolicyContainer           1642
infrastructureUpdate           366
ipsecFilter                    1368
ipsecISAKMPPolicy              1614
ipsecNFA                       4518
ipsecNegotiationPolicy         4208
ipsecPolicy                    2368
linkTrackObjectMoveTable       424
linkTrackVolumeTable           390
lostAndFound                   404
mSMQConfiguration              2162
msDS-QuotaContainer            412
nTFRSMember                    1224
nTFRSReplicaSet                432
nTFRSSettings                  416
nTFRSSubscriber                1456
nTFRSSubscriptions             756
organizationalUnit             974
rIDManager                     318
rIDSet                         564
rpcContainer                   340
samServer                      318
secret                         1624
user                           8870

                             . . . . . . . . . . . . . .

Bytes per server:
Server                         Bytes
dclab1                         63666
dclab2                         63666

                             . . . . . . . . . . . . . .
Checking for missing replies...
      No missing replies!INFO: Server sizes are equal.
*** Identical Directory Information Trees ***
                  -=>> PASS <<=-
closing connections...
      dclab1; dclab2;


 

 

Tareas periódicas a llevar a cabo en un DC

Si nuestro Directorio Activo sufre contínuos cambios en la base de datos del metadirectorio (por ejemplo, adición/eliminación constante de cuentas de usuario, máquinas, políticas, etc)  sería muy aconsejable una vez al mes llevar a cabo una defragmentación offline.

Si no es así, no es necesario a cabo nada en este respecto ya que la defragmentación online será suficiente.

NOTA: la periodicidad puede variar en función de muchas circunstancias y situaciones, por lo que se ha especificado es sólo a modo orientativo

 

 

Problemas comunes relacionados y tareas que podemos revisar

A continuación se hace una relación de los problemas más comunes que se suelen dar y las posibles soluciones o tareas que podemos llevar a cabo para intentar resolverlos. Cabe recalcar que son los problemas más comunes y las soluciones más comunes, lo cual quiere decir que puede ser que se produzcan por otros motivos diferentes (en cuyo caso podemos hacer uso de las herramientas explicadas para intentar detectar el punto de fallo y obrar en consecuencia, o podemos siempre acudir a los foros de soporte gratuito de MS

http://www.microsoft.com/spanish/msdn/gruposnoticias.asp

http://www.microsoft.com/spain/technet/comunidad/grupos/default.asp ) :

La causa más común se deriva de una mala implementación o configuración del DNS, ya sea en el propio servidor o en la estación de trabajo.
Hay que repasar que los DC’s en su configuración de TCP/IP tienen los servidores DNS adecuados, y los adecuados son servidores de DNS internos en los cuales el Directorio Activo registra sus registros necesarios para el correcto funcionamiento de éste. Nunca deberá aparecer la IP de un DNS que no tenga este objetivo (por ejemplo, el de un ISP), ya que para eso deben configurarse los reenviadores

La causa más común suele ser también la descrita en el punto anterior.
Si no fuera el caso, aunque no sea la temática de este documento (las políticas de grupo o GPO necesitan su propio documento debido a que también dan mucho juego), se dejan a continuación algunos enlaces que pueden ser de ayuda u orientación:

Lo primero que deberemos verificar es que entre dichos DC’s haya conectividad por el puerto 135 TCP. Para ello podemos usar la herramienta Portquery.
Es importante tener en cuenta que los DC’s que lleven más de 60 días sin replicar ya no podrán hacerlo.
Si hay conectividad por el puerto 135 TCP, deberemos entonces repasar que hay resolución de nombres por el DNS, la sincronización horaria está correcta y repasar el visor de eventos para más información al respecto y ver si alguna de las herramientas descritas puede ayudar a averiguar más.

Un usuario necesita acceder a un DC que sea Global Catalog para poder iniciar sesión (a partir de Windows Server 2003 ya no es imperativo; se necesita un DC que tenga habilitada la posibilidad del cacheo de membresía a grupos universales y que el usuario haya hecho logon a través de dicho DC).

También es importante repasar que la sincronización horaria es la adecuada entre la estación cliente y un DC de su dominio.

Deberemos repasar que su subred esté asociada al Site adecuado, y en caso de no ser así, definirlo cuanto antes

El procedimiento adecuado en estos casos pasa primero por forzar el traspaso del FSMO de dicho DC a otro.
Tras ello, es importante eliminar la referencia de dicho DC en la metabase del Directorio Activo, ya que de lo contrario afectará al rendimiento y funcionamiento de nuestro servicio de directorio.
Una vez que se haya replicado este cambio, podemos verificar con la herramienta de Replmon que los cambios se han llevado a cabo satisfactoriamente.

 

 

Eliminación de metadatos en el AD

 

Ante la caída de un DC en un dominio dado y si no hay posibilidad ninguna de restaurarlo debido por ejemplo a que el servidor ha sufrido una averigua irrecuperable, o simplemente el contenido de los discos se ha degradado, seguiremos el siguiente procedimiento:

Error 2094. No se puede eliminar el objeto DSA

Error 8419 (0x20E3)
No se encontró el objeto DSA.
el objeto de configuración NTDS puede haberse quitado ya de Active Directory porque lo haya quitado otro administrador o como consecuencia de la replicación de la eliminación con éxito del objeto después de ejecutar la utilidad DCPROMO.

Nota
También puede ver este error cuando intenta enlazar con el controlador de dominio que se va a quitar. Ntdsutil tiene que enlazar con otro controlador de dominio distinto al que se va a quitar con la limpieza de metadatos.

Ahora que se ha eliminado el objeto de configuración NTDS, puede eliminar la cuenta de equipo, el objeto miembro FRS, el registro cname (o Alias) del contenedor _msdcs, el registro A (o Host) en DNS, el objeto trustDomain para un dominio secundario eliminado y el controlador de dominio.

Si aparece el error "No se puede eliminar el objeto DSA" cuando intenta eliminar el objeto, cambie el valor de UserAccountControl. Para cambiar el valor de UserAccountControl, haga clic con el botón secundario del mouse en el controlador de dominio en ADSIEdit y, después, haga clic en Properties. En Select a property to view, seleccione UserAccountControl. Haga clic en Clear, cambie el valor por 4096 y, después, haga clic en Set. Ya puede eliminar el objeto.

Nota
El objeto de suscriptor FRS se elimina cuando se elimina el objeto de equipo porque es un objeto secundario de la cuenta de equipo.

Además, deberemos tener en cuenta lo siguiente:

            Si el DC eliminado era un GC, habría que evaluar si algún servidor de aplicaciones que apuntara al GC caído deba configurarse o “re-apuntar” a un GC que esté presente y funcionando.

            Si el DC eliminado era un GC, habría que evaluar añadir/promocionar un nuevo GC en el Site, dominio, o bosque.

            Si el DC eliminado era responsable de algún FSMO, transferir dicha función a otro DC.

            Si el DC eliminado era un servidor de DNS, actualizar la configuración de los clientes DNS en todas las estaciones de trabajo, servidores miembro, u otros DC’s que pudieran hacer uso del servidor caído para la resolución de nombres. Si se requiere, modificar el ámbito de DHCP para reflejar el borrado del servidor DNS caído.

            Si el DC eliminado era un servidor de DNS, actualizar la configuración de los  Reenviadotes y de las Delegaciones en cualquier otro servidor DNS que pudiera estar apuntando al DC eliminado para la resolución de nombres.

 

Transferir los FSMO mediante ntdsutil

Ante la caída de un DC en un dominio dado y si no hay posibilidad ninguna de restaurarlo, y después de haber leído el punto anterior , seguiremos el siguiente procedimiento.

NOTA: Microsoft recomienda que utilice el controlador de dominio que va a asumir las funciones FSMO.

NOTA: para ver una lista de los comandos disponibles en cualquiera de los símbolos del sistema de la herramienta Ntdsutil, escriba ? y, a continuación, presione ENTRAR.

NOTA: las cinco funciones deben estar en el bosque. Si el primer controlador de dominio está fuera del bosque, asuma todas las funciones. Determine qué funciones van a estar en cada uno de los controladores de dominio restantes de forma que las cinco funciones no estén en un único servidor.

Microsoft recomienda que sólo asuma todas las funciones cuando el otro controlador de dominio no vuelve al dominio; de lo contrario, repare con las funciones el controlador de dominio que no funciona.

Si el controlador de dominio original que tiene las funciones FSMO sigue en conexión, transfiera las funciones. Escriba transfer función .

NOTA: no ponga la función Maestro de infraestructuras en el mismo controlador de dominio que el catálogo global.
En el caso de nuestro domino, gctiberica.local, esto nos es indiferente, pudiendo estar el GC en el mismo DC que el Maestro de Infraestructuras sin ningún problema.

Para comprobar si un controlador de dominio es un servidor de catálogos globales:

www.bujarra.com - Héctor Herrero - nheobug@bujarra.com - v 1.0