Administración de Windows

Obtenga más información sobre las nuevas plantillas de directivas de grupo en Windows Vista

Darren Mar-Elia

 

Resumen:

  • Información sobre ADMX
  • Edición de archivos ADMX
  • Cuáles son las diferencias entre los archivos ADM y ADMX
  • Creación de un almacén central

Antes de Windows Vista, los valores del Registro que podían establecerse dentro de las directivas de grupo se regían a través de archivos ADM, cuya sintaxis era críptica y con propietario. Si quiso controlar valores adicionales del Registro más allá de los entregados por Microsoft con los archivos ADM estándar, tuvo que aprender

la sintaxis y a crear un archivo ADM personalizado. Además, estos archivos ADM se almacenaron con cada objeto de directiva de grupo (GPO) en el entorno Active Directory ® y cada uno de estos GPO con sus correspondientes archivos ADM se replicaron a todos los controladores de dominio en el dominio.

Con el lanzamiento de Windows Vista™, Microsoft da un paso de gigante en el área de las plantillas del Registro basadas en directivas de grupo. Windows Vista incluye cambios considerables tanto en el formato del archivo ADM, ahora llamado ADMX, como en la forma en la que se almacenan estos archivos. En este artículo, me adentraré en el estudio del nuevo formato ADMX y explicaré en qué difieren estos archivos de los ADM. También hablaré de la forma en la que se lleva a cabo el almacenamiento de estos archivos en un entorno de Windows Vista.

Diferencias de ADMX

La diferencia más importante entre el nuevo formato de archivo ADMX y el antiguo formato ADM que ha estado presente desde Windows NT ® 4.0 es que ADMX ha adoptado el estándar XML para la descripción de la configuración de directivas del Registro. Este punto es positivo por varias razones. La primera es que hay muchas más herramientas para editar XML que para la sintaxis del formato ADM. La segunda es que debido a que el XML se encuentra esquematizado, finalmente resultará más fácil crear herramientas que le ayuden a colocar las etiquetas correctas en el lugar correcto con el fin de crear un archivo ADMX bien estructurado. El significado de esquematizado es que, para una determinada aplicación de XML, tal como el formato ADMX, existe un esquema documentado que describe los elementos y los atributos que son posibles, así como cuál es su organización. Estudiaremos un ejemplo más adelante en el artículo.

La otra diferencia fundamental entre ADMX y ADM es la separación de la sección de cadenas del archivo ADMX principal en un archivo ADML de lenguaje específico. Si está familiarizado con los archivos ADM, sabrá que al final de cada archivo hay una sección delimitada con una etiqueta "[strings]" en la que puede asignar valores a cadenas de texto que desea que aparezcan al utilizar el editor de directivas de grupo y las plantillas administrativas. Por ejemplo, el texto que vio al hacer clic en la ficha Explicación de una determinada directiva se almacenó en dicha sección de cadenas. El problema con esto es que las cadenas se almacenaron dentro del archivo ADM, de modo que si quisiera utilizar dicho ADM en un sistema Windows ® con un idioma diferente, tendría que crear un nuevo archivo ADM con una sección de cadenas para dicho idioma.

La cosa se complica aún más si alguien, digamos, con la versión francesa de Windows, quisiera editar un GPO existente que hubiese utilizado ADM inglés. El administrador francés sólo vería inglés en el editor de directivas de grupo. Windows Vista resuelve este problema separando la sección [strings] en un archivo de idioma ADM basado en XML (o ADML). El archivo ADML puede entregarse en cualquier idioma admitido y puede modificarse fácilmente para ser compatible con cualquier idioma nuevo sin tener que tocar el archivo ADMX principal que almacena las directivas. Lo que es más importante, cuando dicho administrador francés edita un GPO de su estación de trabajo de Windows Vista, el editor de directivas de grupo detectará que se está utilizando la versión francesa de Windows y cargará los archivos ADML franceses para ese GPO automáticamente.

Puede ver todos los archivos ADMX y ADML que vienen con su instalación de Windows Vista abriendo la carpeta en c:\windows\policydefinitions (consulte la Figura 1).

Figura 1 Archivos ADMX en Windows Vista

Figura 1** Archivos ADMX en Windows Vista **(Hacer clic en la imagen para ampliarla)

Tenga en cuenta que en la parte superior de la lista de archivos de la Figura 1, hay una carpeta llamada en-us. Esta es la carpeta específica del idioma que contiene los archivos ADML de los archivos ADMX que ve en esta carpeta PolicyDefinitions; en este caso para inglés de EE.UU. Hay un archivo ADML para cada ADMX. Al igual que para este tipo de escritura, Windows Vista contiene 132 archivos ADMX/ADML de forma predeterminada. Esta es otra diferencia importante entre Windows Vista y versiones anteriores: Los GPO creados con Windows XP solían tener cinco archivos ADM, el más grande de ellos el archivo System.adm, que contenía los elementos de la directiva para la mayor parte de los componentes de Windows bajo el control de directivas. En Windows Vista, Microsoft ha decidido dividir los archivos ADMX por función; de ahí el número mucho mayor de archivos ADMX. Cada ADMX cubre generalmente un único componente de Windows (tales como el Panel de control, el Cliente DNS, el Explorador de Windows, etc.).

Información sobre ADMX

El hecho de que los ADMX estén escritos en lenguaje XML es una mejora considerable, tal como comenté anteriormente. Sin embargo, muchos administradores no saben escribir XML, así que menos aún entienden el esquema utilizado por ADMX para la creación de las extensiones de directivas. Si bien un tutorial sobre la creación personalizada de ADMX está más allá del ámbito de este artículo, veamos cómo se crean los ADMX.

Puede abrir archivos ADMX o ADML con cualquier editor de texto, incluso el Bloc de notas, pero a menos que su editor entienda la sintaxis XML, puede que no sea muy significativo. Yo utilizo Visual Studio® porque su característica IntelliSense ® permite completar determinados elementos. La Figura 2 muestra las primeras líneas de uno del ADMX que vienen con Windows Vista.

Figure 2 XML en un archivo ADMX

<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="0.9" schemaVersion="0.9"
  xmlns="https://www.microsoft.com/GroupPolicy/PolicyDefinitions">
  <policyNamespaces>
    <target prefix="AxInstSv" namespace="Microsoft.Policies.ActiveXInstallService" />
    <using prefix="windows" namespace="Microsoft.Policies.Windows" />
  </policyNamespaces>

Puede parecer extraño si uno no está familiarizado con XML, pero muchos de estos elementos XML pueden encontrarse en cualquier archivo ADMX. El elemento policyNamespaces, por ejemplo, identifica unívocamente este archivo ADMX dentro del universo de todos los archivos ADMX.

Si creó archivos ADM personalizados en versiones anteriores de Windows, sabrá que existía un conjunto de etiquetas, tales como Category, Policy, ListBox y ActionList que se utilizaban para definir la configuración de directivas que aparecería en el editor de directivas de grupo. Muchas de estas etiquetas no han cambiado, o sólo han cambiado levemente en el formato ADMX, pero tienen un aspecto muy diferente porque aparecen representadas en XML. Por ejemplo, yo había creado un archivo ADM personalizado que habilitaba varios tipos de registro en Windows para la solución de problemas de directivas de grupo. Una sección de dicho ADM personalizado se muestra en la Figura 3. Trasladé este archivo al nuevo formato ADMX, tal como se muestra en la Figura 4.

Figure 4 Archivo ADM convertido a archivo ADMX

<policy name="Folder Redirection Logging" class="Machine" displayName="$(string.FolderRedirLogging)" explainText="$(string.FolderRedirLogging_Help)" key="Software\Microsoft\Windows NT\CurrentVersion\Diagnostics" valueName="FDeployDebugLevel">
      <parentCategory ref="PolicyLogging" />
      <supportedOn ref="windows:SUPPORTED_Win2K"/>
      <enabledValue>
        <decimal value="15"/>
      </enabledValue>
      <disabledValue>
        <decimal value="0" />
      </disabledValue>
    </policy>

Figure 3 Archivo ADM personalizado

CLASS MACHINE
  CATEGORY !!System
    CATEGORY !!GroupPolicy
    CATEGORY !!Logging
POLICY !!FolderRedir
EXPLAIN !!FolderRedir_HELP
KEYNAME "Software\Microsoft\Windows NT\CurrentVersion\Diagnostics"
VALUENAME "FDeployDebugLevel"
VALUEON NUMERIC 15
VALUEOFF NUMERIC 0
END POLICY ;FolderRedir
      END CATEGORY ;Logging
   END CATEGORY ;GroupPolicy
 END CATEGORY ;SYSTEM

En muchos aspectos, este fragmento de ADMX es mucho más fácil de comprender que su semejante ADM, ya que es más breve. El elemento de la directiva especifica lo que hace esta directiva (Folder Redirection Logging). Los atributos prefijados con $(string. son referencias al elemento correspondiente de la cadena ADML. Los atributos key y valuename, obviamente, especifican a qué clave del Registro y valor afecta esta directiva. El elemento parentCategory controla dónde aparece esta directiva en la jerarquía de plantillas administrativas del editor de directivas de grupo. El elemento supportedOn indica qué versión de sistema operativo respeta esta directiva, y finalmente, los elementos enabledvalue y disabledvalue especifican qué valores se incluyen en el Registro cuando esta directiva se establece como habilitada y deshabilitada.

Se trata de una directiva bastante sencilla de activación/desactivación. Al igual que en la sintaxis ADM, es posible crear elementos de interfaz de usuario más complejos con el editor de directivas de grupo. Cuándo lo hace dentro de ADMX, la sintaxis se ve algo más implicada e incluye un atributo de presentación que hace referencia a una parte del archivo ADML en la que pueden encontrarse las etiquetas de texto del elemento de la interfaz de usuario. Pero más allá de esto, la sintaxis ADMX no es mucho más complicada en realidad. Algo que se debe tener presente es que algunos de los nombres de las etiquetas han cambiado entre ADM y ADMX. De modo que, por ejemplo, en lenguaje ADM teníamos las etiquetas "edittext" y "listbox". En ADMX, se hace referencia a dichas etiquetas como "text" y "list" dentro del archivo ADMX. Esos elementos tendrán las entradas correspondientes en el archivo ADML que especifica el texto que aparece con ellos.

Como puede que ya sepa, un administrador puede cargar un archivo ADM (heredado) en el editor de objetos de directiva de grupo de Windows Vista. A menudo me preguntan si Microsoft ofrecerá una utilidad para convertir los archivos ADM personalizados a la sintaxis ADMX. De hecho, Microsoft se unió a FullArmor Corp. con el fin de lanzar al mercado una herramienta gratuita llamada ADMX Migrator. Esta herramienta hace dos cosas. Primero, convierte los archivos ADM antiguos personalizados al formato ADMX (consulte la Figura 5 para obtener un ejemplo del uso de la herramienta para convertir el gpolog.adm personalizado).

Figura 5 ADMX Migrator

Figura 5** ADMX Migrator **(Hacer clic en la imagen para ampliarla)

La segunda cosa que ofrece es un editor de ADMX que le permite crear archivos ADMX nuevos desde cero. Puede descargar esta herramienta en go.microsoft.com/fwlink/?LinkID=77409.

Almacenamiento de ADMX

El otro cambio destacable que quiero tratar es la forma en la que se almacenan los archivos ADMX y ADML para el uso. En las versiones de Windows anteriores a Windows Vista, al editar un GPO nuevo, los archivos ADM se copiaban automáticamente desde la estación de trabajo local en la que se realizaban las tareas de edición a la parte SYSVOL del GPO en un controlador de dominio dentro de su dominio Active Directory. Estos ADM se replicaban posteriormente a cada DC de un dominio, para cada GPO creado. Esta acción suponía un gasto excesivo de ancho de banda y de almacenamiento en disco, especialmente en entornos grandes con decenas o cientos de GPO. Windows Vista da la vuelta a este proceso. De forma predeterminada, cuando crea un GPO basado en Active Directory en una estación de trabajo de Windows Vista, las directivas de la plantilla administrativa que aparecen en el editor de directivas de grupo se cargan desde la carpeta c:\windows\policydefinitions en el equipo desde el que está editando el GPO.

Los archivos ADMX y ADML no se copian en SYSVOL; sólo se mencionan de forma local. De esta forma se elimina la carga de almacenamiento y red que los ADM suponen para el entorno de las directivas de grupo. Pero puede ser aún mejor. Windows Vista es compatible también con un almacén central, un repositorio de plantillas administrativas. Lo cual dirige el modo de controlar de forma eficaz los archivos ADMX utilizados para editar los GPO, con independencia de quién los edite. Se hace copiando todos los archivos ADMX y ADML oficiales (y cualquiera personalizado que haya creado) en una ubicación de la red, y entonces, cualquier edición posterior de directivas de grupo de estaciones de trabajo de Windows Vista hace referencia a dichas versiones basadas en red, en lugar de a cada versión local individual. La configuración de un almacén central es una tarea sencilla que se realiza una vez por dominio. Sólo tiene que seguir los pasos de la barra lateral "Creación de un almacén central".

Resumen

El nuevo formato ADMX de Windows Vista es una clara mejora con respecto a los archivos ADM utilizados en versiones anteriores de sistema operativo. El uso de XML proporciona un marco más limpio para editar y buscar estos archivos. El traslado de cadenas específicas del idioma a archivos independientes hace que la edición de directivas de grupo de varios idiomas sea perfecta, y el almacén central elimina la necesidad de almacenar y actualizar todos sus GPO con copias de archivos ADM. Todo esto hace que obtener más información sobre ADMX sea un paso inteligente.

Creación de un almacén central

La creación del almacén central es relativamente directa. Siga estos pasos sencillos para crear uno en su dominio Active Directory:

Paso 1: Abra el Explorador y desplácese hasta el recurso compartido SYSVOL en el DC del emulador de PDC de su entorno (puede utilizar cualquier DC, pero en el propietario de la función PDC es generalmente donde se centra cualquier cambio en las directivas de grupo).

Paso 2: Vaya hasta la carpeta de directivas bajo SYSVOL y cree una carpeta nueva llamada PolicyDefinitions.

Paso 3: Copie el contenido de la carpeta C:\windows\policydefinitions de su estación de trabajo de Windows Vista en la nueva carpeta PolicyDefinitions, incluida la carpeta ADML dependiente del idioma (por ejemplo, en-us en equipos con inglés de EE.UU.).

Una vez que los archivos ADMX y ADML se copian en la carpeta del almacén central, el editor de objetos de directivas de grupo de Windows Vista comenzará a hacer referencia a los archivos que se encuentran allí, y omitirá los que están almacenados localmente.

Darren Mar-Elia es MVP en directivas de grupo de Microsoft, creador del famoso sitio de directivas de grupo www.gpoguy.com y coautor de la guía Microsoft Windows Group Policy Guide (Microsoft Press, 2005) (en inglés). Es también CTO y fundador de SDM Software, Inc. Póngase en contacto con él en la dirección Darren@gpoguy.com

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.