Instantánea Active Directory

Instantánea Active Directory
2 junio 2015
Josep Ma Solanes 2

Las instantáneas de Active Directory nos permiten disponer de una foto en el tiempo consultable de su configuración. Me explico con un ejemplo, supongamos que disponemos de un Active Directory con sus usuarios y grupos. Resulta que un administrador, o tu mismo, te has dedicado a reasignar usuarios a grupos de seguridad. Y llega el día menos esperado en que un usuario te dice que no tiene acceso allí donde debía tener acceso. ¿Cómo sabemos a qué grupos de seguridad pertenecía este usuario para poder volver a añadirlo? Con la instantánea de Active Directory. No es una operación habitual, pero nos puede salvar de uno que otro susto. Tampoco es una operación complicada que digamos, por lo que su uso es recomendable. Eso sí, a partir de Windows 2008 R2 con Service Pack 1.

Crear y montar la instantánea Active Directory

Desde un controlador de Active Directory con los permisos de Administrador de dominio, abrir una consola de sistema. Botón derecho sobre el símbolo de Windows, hacer clic en Símbolo de sistema (administrador).

instantania-active-directory-001

Se inicia la consola de sistema, para las operaciones con el Active Directory se utiliza la herramienta ntdsutil. Muy conocida por hacer las limpiezas del propio Active Directory, sobre todo de servidor «desaparecidos en combate». Escribir para iniciarla:

ntdsutil

Aparece el símbolo de comandos ntdsutil: donde se ejecutan los comandos relacionados. Entramos en el apartado de gestión de instantáneas, escribir:

snapshot

El símbolo de comandos cambia de contexto a instantánea. Hay que seleccionar la instancia a la que le queremos hacer. Si se trata del propio Active Directory de producción, ejecutar la siguiente instrucción donde el parámetro ntds hace referencia al productivo:

activate instance ntds

Crear la instantánea:

 create

El sistema genera una instantánea del Active Directory asignándole un número identificativo aleatorio. Para ver las instantáneas que dispone el servidor:

list all

instantania-active-directory-002

Nos salva la fecha y hora para poder identificar cuando se hizo la instantánea. Quedáos con el número GUID (el largo) que se le asigna a cada instancia, ya que es el que necesitamos para poder montar o borrar la instantánea.

Podemos comprobar las instantáneas que hay montadas actualmente con el comando:

list mounted

Hacemos un poco el chapucero, eliminando la pertenencia al grupo de seguridad (LOPD) de un usuario del Active Directory (Núria).

instantania-active-directory-003

¿Cómo podemos volver a saber a qué grupos de seguridad pertenecía este usuario?

instantania-active-directory-004

Volviendo al símbolo de comandos con la herramienta NTDSUTIL en el contexto de instantánea, teniendo localizado el identificador (el número largo) de la que se quiere montar, en mi ejemplo:

mount {88569c58-f9b2-45cf-9501-5c257e55971b}

El sistema indica donde se monta la instantánea dentro del sistema de archivos. Abrir el explorador de Windows, donde en la raíz de las unidades encontramos la instantánea montada, bajo el nombre $SANP_….

instantania-active-directory-005

Acceder a la carpeta de la instantánea, dentro del directorio Windows\NTDS (o el que corresponda donde haya el Active Directory), para localizar el archivo ntds.dit. Botón derecho del ratón pulsando la tecla Shift. Del menú contextual, hacer clic en copiar como ruta de acceso.

instantania-active-directory-006

Abrir una nueva consola de símbolo de sistema. Esta vez se utiliza la herramienta DSAMAIN para cargar (pegar la ruta que se ha copiado antes del archivo ntds.dit) y dar servicio del Active Directory de la instantánea, por otro puerto al habitual (por ejemplo, el 10389).

dsamain -dbpath "C:\$SNAP_201505301044_VOLUMEC$\Windows\NTDS\ntds.dit" -ldapport 10389

Se carga el Active Directory en el puerto especificado. No cerrar esta ventana de la consola.

instantania-active-directory-007

Acceder al administrador de usuarios y equipos de Active Directory. Botón derecho sobre la rama raíz, Usuarios y equipos de Active Directory…. que indica el servidor donde se ha conectado. Hacer clic en la opción Cambiar el controlador de dominio.

instantania-active-directory-008a

Se visualizan los controladores que forman parte del Active Directory. Seleccionar la opción Este controlador de dominio o instancia de AD LDS. Y, en la primera fila de la lista, escribir el nombre del servidor seguido de dos puntos y el puerto que se ha especificado en la instrucción anterior dsamain. En mi ejemplo: srvDC:10389. Después de introducir el nombre del servidor se comprueba el estado de este, si no está correcto no podremos continuar.

instantania-active-directory-008

Esperar que el estado del servidor esté en línea y hacer clic en el botón Aceptar.

 

instantania-active-directory-010

Obtenemos los usuarios y equipos del Active Directory de la instantánea.

instantania-active-directory-011

Comprobamos la pertenencia a grupos de seguridad del usuario Núria, donde se visualiza el grupo LOPD.

instantania-active-directory-012

Voilà, ya hemos obtenido los datos que buscábamos, tomar nota para hacer las modificaciones correspondientes en el Active Directory «real».

Por cierto, se puede programar en el controlador de Active Directory porque de vez en cuando haga una instantánea automáticamente, el comando a introducir en el programador de tareas sería:

ntdsutil "activate instance NTDS" snapshot create quit quit

 

Desmontando la instantánea Active Directory

Para desconectar la instantánea, botón derecho sobre Usuarios y equipos de Active Directory y hacer clic en cambiar controlador de dominio, para volverse a conectar a un controlador de Active Directory y no a la instantánea.

instantania-active-directory-008a

De la lista de servidor, seleccionar Cualquier controlador de dominio y hacer clic en el botón Aceptar.

instantania-active-directory-013

Para ver que no hay trampas, se carga el Active Directory de un controlador. Si se comprueba de nuevo la pertenencia a grupos de seguridad del usuario Núria, no aparece el grupo LOPD, ya que es del que se había eliminado.

instantania-active-directory-015

Volviendo a la consola de sistema donde se ejecuta DSADMAIN, hacer un Control + C para cancelar el montaje de la instantánea del Active Directory.

instantania-active-directory-016

Volviendo a la consola de sistema donde se ejecuta NTDSUTIL, comprobar las instantáneas montadas:

list mounted

Desmontar la instantánea, indicando el número de orden por el que está montada:

unmount 1

instantania-active-directory-017

Si se comprueba el explorador de Windows, ya no aparece la carpeta con la instantánea de Active Directory.

instantania-active-directory-018

Borrar la instantánea Active Directory, indicando el número de orden de la instantánea:

list all
delete 6

Para salir de NTDSUTIL, escribir quit hasta llegar al símbolo del sistema:

instantánea: quit
ntdsutil: quit

instantania-active-directory-019

 

Recuperar objetos Active Directory borrados

La instantánea, como tal, no sirve para recuperar objetos borrados del Active Directory. Recuerdo que esta opción permite ver el estado del Active Directory en un momento dado, por ejemplo la pertenencia a grupos de seguridad, valores, atributos, etc… en que no se ha borrado ningún objeto, sino que sólo ha cambiado su configuración.

Pero también se tiene que decir que existen herramientas que a partir de la instantánea pueden recuperar objetos, como puede ser LDAP o ADRESTORE donde no es demasiado trivial hacerlo que digamos. Para ir rápidos, en caso de borrar accidentalmente un usuario, recomiendo la activación y uso de la papelera de Active Directory. El tiempo de vida por defecto de un objeto dentro de la papelera es de 180 días, si nos pasamos, tendremos que tirar de copia de seguridad. Este tiempo es suficiente para recuperar elementos accidentados. Sin embargo, se puede modificar editando la propiedad:

 

Cambiar los días de permanencia de un objeto en la papelera Active Directory

Botón derecho sobre el símbolo de Windows, hacer clic en Ejecutar.

instantania-active-directory-020

Escribir la instrucción: ldp.exe y hacer clic en el botón Aceptar.

instantania-active-directory-024

Se inicia la aplicación, en el menú hacer clic en Conexión y Enlazar para cargar el Active Directory actual.

instantania-active-directory-025

En las opciones de conexión, si se hace con un Administrador de dominio, se pueden dejar por defecto. Si el usuario actual no puede modificar el Active Directory, hay que cambiar a un usuario que si tenga los permisos adecuados. Hacer clic en el botón Aceptar.

instantania-active-directory-026

Cargar el árbol de configuración, en el menú, hacer clic en Ver > Árbol.

instantania-active-directory-027

En el DN base para cargar el árbol seleccionar CN=Configuration,…. , hacer clic en el botón Aceptar.

instantania-active-directory-028

Con el árbol cargado en el panel de la izquierda, localizar la clave CN=Services > CN=Windows NT > CN=Directory Service, (la dirección DN corresponde a: CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration), botón derecho sobre este y hacer clic en la opción Modificar.

instantania-active-directory-029

En el apartado de Editar entrada, indicar como:

  • Atributo: msDS-DeletedObjectLifeTime
  • Valor, el número de días que se quiere mantener el elemento en la papelera, siendo 3 el mínimo.

En el apartado de operación, seleccionar Reemplazar. Hacer clic en el botón Entrar y el botón Ejecutar.

instantania-active-directory-030

Hacer clic en el botón Cerrar para volver a la aplicación. Para comprobar el valor establecido, en el menú, hacer clic en Examinar > Buscar.

instantania-active-directory-032

Como DN base, introducir la ruta DN de la configuración del servicio de Active Directory, por ejemplo: CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=dominio,DC=com. Recordad cambiar el nombre del dominio y el .com por el correcto. En el apartado de atributos, indicar: msDS-DeletedObjectLifeTime. Hacer clic en el botón Ejecutar.

instantania-active-directory-031

En el apartado de resultados, se puede observar el valor que dispone el atributo, en este caso 360 días.

 

Recuperar un usuario de la papelera de Active Directory

Desde el Administrador del servidor, hacer clic en el menú superior Herramientas y seleccionar Centro de administración de Active Directory.

instantania-active-directory-020

Desde el Centro de administración de Active Directory, hacer clic sobre el nombre del dominio. En caso que el dominio sea Windows 2008 R2 o superior, en el parte derecha de gestión de tareas, existe la posibilidad de habilitar la papelera de reciclaje, si no lo está.

instantania-active-directory-021

Permiten visualizar una rama (Deleted Objects) donde se ubican los objetos borrados. Haciendo clic sobre el grupo se ven estos objetos en cuestión. En el ejemplo, aparece un usuario «Pepito» que se ha borrado expresamente. Seleccionarlo y, en la lado derecho de tareas, se nos permite recuperarlo. Hacer clic en la opción Recuperar.

instantania-active-directory-022

Así de fácil. ¿A qué esperáis para habilitar estas opciones? No tienen demasiada complicación hacerlo y te acordarás de ellas cuando ya es demasiado tarde.

 

¿Te ha gustado el artículo? Lo puedes compartir en las redes sociales. También puedes dejar tu opinión, comentario o sugerencia. ¡Gracias!

 

Similar Posts by The Author:

 

2 comentaris per a
“Instantánea Active Directory”

  1. Muchas gracias por tu aporte , una pregunta al recuperar usuarios borrados se recuperan también la pertenencia a grupos.. lo digo por que con las herramientas para recuperar usuarios en Server 2008 se recupera el usuario pero no la pertenencia.

    U.n saludo

     
    1. Buenas Alvaro, en respuesta a tu comentario, debo decir que en la versión Windows 2012 R2, a través del Centro de Active Directory, al recuperar un usuario también se recupera su pertenencia a grupos de seguridad.

      Lo mismo ocurre al recuperar un grupo de seguridad des del mismo centro, se recupera la pertinencia de usuarios (que no estén borrados) al grupo.

      Saludos.

       
Els comentaris estan tancats.