Administration de Windows

Plongée dans les nouveaux modèles de stratégie de groupe de Windows Vista

Darren Mar-Elia

 

Vue d'ensemble:

  • Au cœur d'ADMX
  • Modification de fichiers ADMX
  • Différence entre les fichiers ADM et les fichiers ADMX
  • Création d'un magasin central

Avant Windows Vista, les valeurs de registre que vous pouviez déterminer dans la stratégie de groupe étaient gérées par des fichiers ADM, dont la syntaxe était obscure et propriétaire. Si vous souhaitiez contrôler des valeurs de registre supplémentaires en plus de celles fournies par Microsoft avec les fichiers ADM standard, vous deviez apprendre cette

syntaxe et créer un fichier ADM personnalisé. De plus, ces fichiers ADM étaient enregistrés avec chaque objet de stratégie de groupe (GPO) dans l'environnement Active Directory® et chacun de ces GPO accompagné de ses fichiers ADM était répliqué sur tous les contrôleurs de domaine du domaine.

Avec le lancement de Windows Vista™, Microsoft franchit une étape décisive dans le domaine des modèles de registre basés sur les stratégies de groupe. Windows Vista introduit des modifications majeure au niveau du format du fichier ADM, désormais dénommé ADMX et dans la façon dont ces fichiers sont enregistrés. Dans cet article, j'examinerai le nouveau format ADMX et expliquerai en quoi ces fichiers sont différents d'ADM. J'étudierai également comment l'enregistrement de ces fichiers est géré dans un environnement Windows Vista.

Différences d'ADMX

La plus grande différence entre le nouveau format de fichier ADMX et le vieux format ADM qui existe depuis Windows NT® 4.0 réside dans le fait qu'ADMX a adopté la norme XML pour décrire les paramètres de stratégie de registre. Ce changement est positif pour plusieurs raisons. La première est qu'il existe bien plus d'outils permettant de modifier le XML que pour la syntaxe ADM. La seconde est que, parce que le XML est schématisé, il sera plus facile à terme de générer des outils qui vous aideront à déterminer quelles balises mettre au bon endroit afin de créer un fichier ADMX correct. Le terme « schématisé » signifie que, pour une application donnée du XML telle que le format ADMX, il existe un schéma documenté qui décrit les éléments et les attributs qui sont autorisés et la façon dont ils sont organisés. Nous en étudierons un exemple plus loin dans l'article.

L'autre différence clé entre ADMX et ADM est la séparation de la section de chaînes du fichier ADMX principal, que l'on retrouve dans un fichier ADML propre à la langue. Si vous connaissez les fichiers ADM, vous savez qu'il existe à la fin de chaque fichier une section délimitée avec une balise « [strings] » où vous pouvez attribuer des valeurs aux chaînes de texte que vous voulez afficher lorsque vous utilisez l'éditeur de stratégie de groupe et les modèles d'administration. Par exemple, le texte que vous avez vu en cliquant sur l'onglet Explain (expliquer) d'une stratégie donnée a été enregistré dans cette section de chaînes. Le problème de cette méthode est que, les chaînes ayant été enregistrées dans le fichier ADM, pour utiliser ce fichier ADM dans un système Windows® fonctionnant avec une langue différente, il fallait créer un nouveau fichier ADM avec une section de chaînes pour cette langue.

Cela devenait encore plus compliqué si quelqu'un utilisant, par exemple, la version française de Windows, souhaitait modifier un GPO existant ayant utilisé des ADM anglais. L'administrateur français ne voyait que de l'anglais dans l'éditeur de stratégie de groupe. Windows Vista contourne ce problème en séparant la section [strings] dans un fichier de langue ADM basé sur le XML (XML-based ADM Language ou ADML). Le fichier ADML peut être fourni dans n'importe quelle langue prise en charge et peut être facilement modifié pour prendre en charge une nouvelle langue sans avoir à toucher au fichier ADMX principal qui enregistre les stratégies. Plus important encore, lorsque cet administrateur français modifie un GPO à partir de son poste de travail Windows Vista, l'éditeur de stratégie de groupe détecte que la version française de Windows est utilisée et charge automatiquement les fichiers ADML français pour ce GPO.

Vous pouvez voir tous les fichiers ADMX et ADML fournis avec votre installation de Windows Vista en ouvrant le dossier c:\windows\policydefinitions (voir la figure 1).

Figure 1 Fichiers ADMX dans Windows Vista

Figure 1** Fichiers ADMX dans Windows Vista **(Cliquer sur l'image pour l'agrandir)

Notez qu'en haut de la liste de fichiers de la figure 1 figure un dossier appelé en-us. Il s'agit du dossier propre à la langue qui contient les fichiers ADML pour les fichiers ADMX que vous voyez dans ce dossier PolicyDefinitions, en l'occurrence l'anglais américain. Il existe un fichier ADML pour chaque ADMX. Au moment de la rédaction de cet article, Windows Vista contient 132 fichiers ADMX/ADML par défaut. Il s'agit d'une autre grande différence entre Windows Vista et les versions précédentes : les GPO créés sous Windows XP contenaient en principe cinq fichiers ADM, le plus gros étant System.adm, qui contenait les éléments de stratégie pour la plupart des composants Windows contrôlés par les stratégies. Dans Windows Vista, Microsoft a décidé de classer les fichiers ADMX par fonction, ce qui explique leur nombre important. Chaque fichier ADMX gère en général un seul composant de Windows (comme le Panneau de configuration, le Client DNS, l'explorateur Windows et ainsi de suite).

Au cœur de l'ADMX

Le fait que les fichiers ADMX soient écrits en XML constitue une amélioration majeure, comme je l'ai fait remarquer précédemment. Cependant, de nombreux administrateurs ne savent pas écrire le XML, sans parler de comprendre le schéma utilisé par ADMX pour créer des extensions de stratégie. Bien qu'un cours sur la création d'ADMX personnalisés ne soit pas le sujet de cet article, examinons un instant la formation des fichiers ADMX.

Vous pouvez ouvrir un fichier ADMX ou ADML dans n'importe quel éditeur de texte, même le Bloc-notes, mais à moins que votre éditeur ne comprenne la syntaxe XML, il peut ne pas avoir beaucoup de sens. J'utilise Visual Studio® parce que sa fonction IntelliSense® permet de finaliser des éléments particuliers. La figure 2 reproduit les premières lignes de l'un des fichiers ADMX fournis avec Windows Vista.

Figure 2 Un peu de XML dans un fichier 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>

Ceci peut paraître étrange si vous n'êtes pas familier avec le XML, mais un grand nombre de ces éléments XML se retrouvent dans n'importe quel fichier ADMX. L'élément policyNamespaces, par exemple, identifie ce fichier ADMX de façon unique dans l'univers des fichiers ADMX.

Si vous avez créé des fichiers ADM personnalisés dans des versions précédentes de Windows, vous savez qu'il existait une série de balises telles que Category, Policy, ListBox et ActionList qui servaient à définir les paramètres de stratégie devant apparaître dans l'éditeur de stratégie de groupe. Nombre de ces balises n'ont pas changé, ou seulement très peu, dans le format ADMX mais elles paraissent très différentes parce qu'elles sont représentées comme du XML. Par exemple, j'avais écrit un fichier ADM personnalisé permettant d'activer divers types de journalisation dans Windows pour le dépannage des stratégies de groupe. Une section de cet ADM personnalisé est présentée à la figure 3. J'ai converti ce fichier au nouveau format ADMX, présenté à la figure 4.

Figure 4 Un fichier ADM converti en fichier 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 Un fichier ADM personnalisé

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

À bien des égards, cet extrait ADMX est beaucoup plus simple à comprendre que son cousin ADM, car il est plus concis. L'élément de stratégie spécifie ce que fait cette stratégie (journalisation de la redirection de dossiers). Les attributs préfixé avec $(string. sont des références à l'élément de chaîne ADML correspondant. Les attributs key et valuename, évidemment, précisent la clé de registre et la valeur qui sont affectées par cette stratégie. L'élément parentCategory contrôle l'endroit où cette stratégie apparaît dans la hiérarchie du modèle administratif d'éditeur de stratégie de groupe. L'élément supportedOn indique quelle version du système d'exploitation respecte cette stratégie et, enfin, les éléments enabledvalue et disabledvalue spécifient les valeurs incluses dans le registre lorsque cette stratégie est activée ou désactivée.

Il s'agit d'une stratégie d'activation/désactivation assez simple. Comme dans la syntaxe ADM, il est possible de créer des éléments d'interface utilisateur plus complexes dans l'éditeur de stratégie de groupe. Lorsque vous faites cela dans ADMX, la syntaxe devient plus importante et inclut un attribut de présentation qui référence une partie du fichier ADML où les étiquettes de texte de l'élément de l'interface utilisateur peuvent être recherchées. Hormis cela, la syntaxe ADMX n'est pas très compliquée. Ce dont il faut se souvenir, c'est que certains des noms de balise ont changé entre les fichiers ADM et ADMX. Donc, par exemple, en langage ADM vous aviez des balises « edittext » et « listbox ». En ADMX, ces balises sont référencées comme « text » et « list » dans le fichier ADMX. Ces éléments auront des entrées correspondantes dans le fichier ADML qui précisent le texte apparaissant à côté d'elles.

Comme vous le savez peut-être déjà, un administrateur peut charger un fichier ADM (hérité) personnalisé dans l'éditeur d'objet de stratégie de groupe de Windows Vista. Les gens me demandent souvent si Microsoft fournira un utilitaire pour convertir les fichiers ADM personnalisés vers la syntaxe ADMX. En fait, Microsoft s'est associé avec FullArmor Corp. pour publier un outil gratuit dénommé ADMX Migrator. Cet outil fait deux choses. Tout d'abord, il convertit vos vieux fichiers ADM personnalisés au format ADMX (voir à la figure 5 un exemple d'utilisation de l'outil pour convertir my custom gpolog.adm).

Figure 5 ADMX Migrator

Figure 5** ADMX Migrator **(Cliquer sur l'image pour l'agrandir)

Ensuite, il fournit un éditeur ADMX qui vous permet de créer de nouveaux fichiers ADMX. Vous pouvez télécharger cet outil à l'adresse go.microsoft.com/fwlink/?LinkID=77409.

Stockage ADMX

L'autre modification notable que je veux aborder est la façon dont les fichiers ADMX et ADML sont enregistrés. Dans les versions de Windows précédant Windows Vista, lors de la modification d'un nouveau GPO, les fichiers ADM étaient automatiquement copiés du poste de travail local sur lequel vous faisiez vos modifications à la partie SYSVOL du GPO sur un contrôleur de domaine se trouvant dans votre domaine Active Directory. Ces ADM étaient ensuite répliqués sur chaque contrôleur du domaine pour chaque GPO créé. Ceci consommait beaucoup de bande passante du réseau et d'espace disque surtout dans des grands environnements ayant des douzaines ou des centaines de GPO. Windows Vista renverse ce processus. Par défaut, lorsque vous créez un GPO basé sur Active Directory à partir d'un poste de travail Windows Vista, les stratégies de modèle administratif qui apparaissent dans l'éditeur de stratégie de groupe sont chargées à partir du dossier c:\windows\policydefinitions de l'ordinateur sur lequel vous modifiez le GPO.

Les fichiers ADMX et ADML ne sont pas copiés sur SYSVOL mais sont uniquement référencés localement. Ceci élimine la charge sur le stockage et le réseau qu'ADM faisait porter à l'environnement de stratégie de groupe. Mais ce n'est pas tout. Windows Vista prend également en charge un magasin central, un référentiel pour les modèles d'administration. Ceci résout le problème du contrôle efficace des fichiers ADMX utilisés pour modifier les GPO, quelle que soit la personne qui les modifie. Il suffit de copier tous les fichiers officiels ADMX et ADML (et tous les fichiers personnalisés que vous avez créés) sur un emplacement du réseau. Par la suite, toute modification de stratégie de groupe effectuée à partir d'un poste de travail Windows Vista référence ces versions du réseau plutôt que chaque version locale. La création d'un magasin central est une tâche aisée qui ne doit être effectuée qu'une seule fois par domaine. Il suffit de suivre les étapes du volet « Creating a Central Store » (Création d'un magasin central).

Résumé

Le nouveau format ADMX de Windows Vista constitue une amélioration évidente par rapport aux fichiers ADM utilisés avec les versions de système d'exploitation précédentes. L'usage du XML fournit une infrastructure plus nette pour modifier et rechercher ces fichiers. Le déplacement de chaînes spécifiques à la langue dans des fichiers séparés rend la modification multilingue des stratégies de groupe plus cohérente et le magasin central élimine la nécessiter d'enregistrer et de mettre à jour tous vos GPO avec des copies des fichiers ADM. Tout ceci démontre l'utilité de la connaissance d'ADMX.

Création d'un magasin central

La création du magasin central est relativement simple. Suivez ces étapes pour en créer un dans votre domaine Active Directory :

Étape 1 Ouvrez l'explorateur et naviguez jusqu'à la partie SYSVOL du contrôleur de domaine de l'émulateur du contrôleur de domaine principal de votre environnement (vous pouvez utiliser n'importe quel contrôleur de domaine mais le propriétaire du rôle du contrôleur de domaine principal se trouve d'habitude là où les modifications de stratégie de groupe sont concentrées).

Étape 2 Développez le dossier des stratégies sous SYSVOL et créez un nouveau dossier que vous appellerez PolicyDefinitions.

Étape 3 Copiez le contenu du dossier C:\windows\policydefinitions de votre poste de travail Windows Vista dans le nouveau dossier PolicyDefinitions, y compris le dossier ADML propre à la langue (par exemple, en-us sur les ordinateurs en anglais américain).

Lorsque les fichiers ADMX et ADML ont été copiés dans le dossier du magasin central, l'éditeur d'objet de stratégie de groupe de Windows Vista commence à y référencer les fichiers et ignore ceux qui sont enregistrés en local !

Darren Mar-Elia est MVP de Microsoft Group Policy, créateur du célèbre site sur la stratégie de groupe, www.gpoguy.com et coauteur de Microsoft Windows Group Policy Guide (Guide de stratégie de groupe Microsoft Windows) (en anglais) (Microsoft Press, 2005) Il est également Directeur technique et fondateur de SDM Software, Inc. Contactez-le à Darren@gpoguy.com.

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.