¿Cómo migrar GPOs a otro bosque?

En muchas ocasiones recibimos consultas sobre cómo realizar la copia o migración de GPOs de un bosque a otro diferente. Hoy vamos a tratar este tema.

Como sabéis, a través de GPOs podemos desplegar muchos tipos de configuraciones. Con frecuencia, estas configuraciones contienen información específica que pertenece al propio dominio o a objetos en él. Es por esto que, si se importan las GPOs de un entorno directamente en otro con la GPMC (Group Policy Management Consolegpmc.msc) va a haber una serie de rutas, objetos y/o “SIDs” que el dominio destino no va a poder traducir, al tratarse de rutas o SIDs pertenecientes a otro entorno que desconoce y que no existen en él.

Será necesario que la configuración se “traduzca” para que los datos referenciados tengan “sentido” en el nuevo entorno. En el ejemplo mostrado en el siguiente dibujo, queremos migrar la GPO X del dominio B de nuestro bosque de pruebas al dominio E de nuestro bosque de producción. En este proceso necesitamos traducir la configuración del derecho de usuario “Log on locally” configurado en la GPO para reflejar los nuevos grupos/usuarios del bosque de producción, en lugar de referenciar a los de nuestro bosque de pruebas.

clip_image001

Por lo tanto, si lleváramos a cabo esta importación, el mecanismo para conseguir que las GPOs hagan referencia a objetos del dominio local sería llevar a cabo una modificación manual de la configuración de las GPOs, lo cual podría convertirse en una tarea muy tediosa y susceptible a fallos.

No obstante, existe la posibilidad de llevar a cabo la migración ayudándonos de “tablas de migración” a la hora de importar las GPOs. Con estas tablas vamos a poder especificar la correspondencia entre rutas/objetos del dominio origen y rutas/objetos del dominio destino, tal y como se indica en los siguientes artículos:

When using import to transfer GPO settings to a GPO in a different domain or different forest, you may want to use a migration table in conjunction with the import operation. A migration table allows you to facilitate the transfer of references to security groups, users, computers, and UNC paths in the source GPO to new values in the destination GPO.

To transfer the settings in GPO X from domain B in the test forest to a GPO in domain E in the production forest, the administrator must use an import operation and a migration table because trust does not exist between domain B and domain E. If trust did exist, it would also be possible to do this with a copy operation. When you use a migration table together with the import or copy operation, the Group Policy Management Console (GPMC) enables the administrator to update the settings in the destination GPO to the new values that are appropriate for the destination domain.

Con la ayuda de estas “tablas de migración” se va a facilitar el proceso de importar las GPOs en el dominio destino, ya que nos va a ayudar a realizar la traducción de lo que especifiquemos en dichas tablas en la GPO importada automáticamente.

Por ejemplo, las siguientes configuraciones contienen Security Principals y pueden ser modificados durante una importación utilizando una “tabla de migración”:

  • Configuración de políticas de Seguridad de los siguientes tipos:
    • Asignación de Derechos de Usuario.
    • Grupos Restringidos.
    • Servicios.
    • Sistema de Ficheros.
    • Registro.
  • Configuración avanzada de las políticas de Redirección de Carpetas.
  • La DACL de la GPO si queremos preservarla durante la copia.
  • Las DACLs en los objetos de Instalación de Software.

Las siguientes configuraciones pueden contener rutas UNC que puede ser necesario actualizar a nuevos valores durante la migración:

  • Configuración de las políticas de Redirección de Carpetas
  • Configuración de las políticas de Instalación de Software.
  • Configuración de políticas de Scripts (Ejecución de comandos), tales como los de Arranque e Inicio de Sesión, que puedan referenciar rutas UNC.

Hay otras configuraciones que pueden referenciar tanto a Security Principals como rutas UNC en otras políticas, como en algunas Plantillas Administrativas. Estas configuraciones no se pueden mapear con la información de la “tabla de migración”, por lo que se copiarán tal cual.

Las “tablas de migración” se implementan como ficheros XML con la extensión “ .migtable”, pero no os preocupéis porque no tendréis que lidiar con los tags ni con la estructura de estos ficheros si no queréis, ya que la GPMC incorpora un “Editor de tablas de migración”, que podéis encontrar en %programfiles%\gpmc\mtedit.exe. También podéis acceder al editor desde el menú contextual (click derecho) del nodo Domains o Group Policy Objects de la GPMC y seleccionando Open Migration Table Editor.

clip_image002[4]

Podéis ver un ejemplo de “tabla de migración” en %programfiles%\GPMC\scripts\SampleMigrationTable.migtable.

En el siguiente enlace podéis obtener un documento que constituye una guía detallada de migración de GPOs de un dominio a otro con ejemplos, explicaciones detalladas de las tablas de migración y sus opciones de mapeo, etc.:

Aunque en el documento podéis encontrar los pasos de migración en detalle, os indico a continuación los pasos generales que tendríais que realizar para que veáis en qué consiste y el trabajo de búsqueda y traducción que os vais a evitar utilizando “tablas de migración”:

  1. Crear un backup de la GPO original desde la GPMC y guardarlo en disco.
  2. Crear una nueva GPO en el entorno de producción.
  3. Crear la tabla de migración desde el Editor, y desde el menú Tools, seleccionar Populate from Backup para que la autogenere desde la copia de seguridad creada en el punto 1.
  4. Editar la tabla de migración y mapear todo lo necesario.
  5. Importar la copia  de seguridad de la GPO en la nueva política que hemos creado en el punto 2, indicando la ruta de la copia de seguridad y de la tabla de migración que queremos usar y que hemos completado en el punto 4.
  6. Configurar aspectos adicionles como filtrado de seguridad, permisos, etc.
  7. Enlazar la nueva GPO a los contenedores deseados en Directorio Activo.

En los siguientes enlaces podréis encontrar más información sobre las “Tablas de migración” y el “Editor de tablas de migración” incluido en la GPMC, así como ejemplos de uso:

Si vais a realizar una migración de este tipo, es importante que reviséis el siguiente artículo ya que incluye un fix que solventa algunos problemas, por ejemplo con las políticas de 802.1x:

Espero que esta información os resulte útil a la hora de crear y probar vuestras GPOs y migrarlas al entorno de producción.

- Paula Tomás Galed