Haciendo snapshots del Directorio Activo en Windows Server 2008
Bueno, el otro día ví esto en un doc oficial de Microsoft y había que probarlo. Se refiere a poder hacer instantáneas de nuestro Directorio Activo, para el simple hecho de llevarlo a otro equipo y realizar unas pruebas con herramientas LDAP por ejemplo, o para ver cómo estaba nuestro Directorio Activo en un momento dado, por si tenemos que hacer una restauración del AD autoritativa y no sabemos como se llama un objeto o contenedor (http://www.bujarra.com/?p=1593), o para usarlo con ADrestore para saber como se llama un Tombstone (http://www.bujarra.com/?p=1567)… de todas formas no es recomendable tener muchos snapshots que no se vayan a usar por pérdida de rendimiento.
Para hacer un snapshot del Directorio Activo, primero desde una consola DOS, ejecutamos: “ntdsutil”
Dentro de ntdsutil, ejecutamos “snapshot”
Lo primero es activar la instancia NTDS para indicar que será un snapshot de nuestro Active Directory, así que ponemos: “activate instance ntds”
Ahora hacemos el snapshot con el comando: “create”
… esperamos unos segundos mientras se crea la instancia…
OK, instancia creada, podemos salir con “q” o “quit”.
Con el parámetro “list all” podemos ver todos los snapshot que tenemos creados en nuestro AD, todo ello dentro de “ntdsutil” > “snapshot”.
Con el parámetro “delete NÚMERO” podemos eliminar un snapshot que no necesitemos más, todo ello dentro de “ntdsutil” > “snapshot”.
Para qué nos sirven estos snapshots? bien, podemos montar un snapshot y poder acceder a los datos de nuestro antiguo Directorio Activo, nos montará todo su contenido en un directorio de nuestro C: con ello podremos acceder al antiguo NTDS.DIT o lo que necesitemos. Montamos un snapshot con el comando “mount NÚMERO” (dentro de “ntdsutil” > “snapshot”).
Vemos que nos monta la instantánea en un directorio en concreto C:$SNAP_AAAAMMDDHHMM_VOLUMEX$ podemos comprobar el contenido si nos interesa.
Pero lo ideal es usar el comando DSAMAIN para hacer más o menos un ‘servidor LDAP’ 🙂 El comando sería: dsamain -dbpath PATH_DEL_SNAPSHOTDIRECTORIO_NTDSNTDS.DIT -ldapport NÚMERO_PUERTO. Este NÚMERO_PUERTO será el puerto tcp que permitirá conexiones entrantes a nuestra base de datos del Directorio Activo. A parte, DSAMAIN abre los siguientes puertos para poder usarlos además:
LDAPS (LDAP sobre SSL): NÚMERO_PUERTO + 1.
GC (Catálogo Global): NÚMERO_PUERTO + 2.
GCS (Catálogo Global sobre SSL): NÚMERO_PUERTO + 3.
La cosa es que se queda el DSAMAIN a la escucha de peticiones por cualquiera de esos puertos para conectarse a esa instantánea del AD.
Podemos usar cualquier consola para conectarnos a este snapshot, por ejemplo, si abrimos la consola de “Usuarios y Equipos del Directorio Activo” y damos con botón derecho “Cambiar el controlador de dominio…”
Si marcamos la opción “Este controlador de dominio grabable”, podremos escribir la dirección a la que nos queremos conectar, por ejemplo: localhost:NÚMERO_PUERTO. & “Aceptar”,
En esta imagen se ve la misma consola conectada al Directorio Activo actual y la otra al snapshot, viendo las diferencias, por ejemplo si queremos saber que propiedades tenía configuradas el usuario ‘dos’ o para restaurarlas con ADrestore…