Ce qui suit concerne la gestion des stratégies de groupe sur une
machine locale sous Windows 2000 (Professionnel et serveur isolé),
Windows XP (Professionnel et Édition familiale) et Windows 2003
(serveur isolé). Ce chapitre ne traite donc pas- pour l'instant -
des GPO (Group Policy objects) utilisés dans un domaine (Active
Directory Services), mais seulement des LGPO (Local Group Policy objects).
Comment appliquer des stratégies locales sauf aux administrateurs
Outil STRATEDIT d'édition de stratégies pour un compte donné
On désigne par "Stratégie" la configuration logicielle du
système par rapport aux utilisateurs.
Par défaut, après installation de Windows, aucune stratégie n'est
configurée, et tout est permis (aux restrictions près liées aux groupes
prédéfinis d'utilisateurs : Administrateurs, Utilisateurs, Utilisateurs avec
pouvoir,...)
Une stratégie sert à mettre en place une ou plusieurs
restrictions d'utilisation de Windows et des ses composants
principaux.
Par exemple :
Menu Démarrer et Barre des tâches
Désactiver et supprimer les liens vers Windows Update
Supprimer le groupe de programmes communs du menu Démarrer
Supprimer le menu Documents du menu Démarrer
Désactiver les programmes du menu Paramètres
Supprimer les Connexions réseau et accès distant du menu Démarrer
Supprimer le menu Exécuter du menu Démarrer
Désactiver la fermeture de session dans le menu Démarrer
Désactiver et supprimer la commande Arrêter
...
Panneau de configuration
Désactiver le Panneau de configuration
Masquer les applications du Panneau de configuration spécifiées
...
Système
Ne pas afficher l'écran de bienvenue à l'ouverture de session
Désactiver l'invite de commandes
Désactiver les outils de modifications du Registre
Exécuter seulement les applications Windows autorisées
N'exécutez pas les applications Windows spécifiées
Activer les quotas de disque
...
Internet Explorer
Désactiver la personnalisation de Internet Explorer par des tiers
Désactiver l'importation et l'exportation des favoris
Désactiver la modification des paramètres de la page de démarrage
...
NetMeeting
Désactiver le partage de Bureaux distants
...
Ces paramétrages sont stockés dans la Base de Registres, essentiellement dans les branches :
HKEY_CURRENT_USER\Software\Policies\Microsoft
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies
Cette dualité ...\Policies\Microsoft et ...\Microsoft\...\Policies
ne contribue pas à la clarté, et peut être la cause d'erreurs!
On peut y trouver des sous-clefs, pour aboutir à des entrées généralement de type REG_DWORD, ayant la valeur :
0x00000000 : stratégie désactivée
0x00000001 : stratégie activée
Par exemple, dans la clef HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
si l'entrée NoControlPanel, de type REG_DWORD, a pour valeur
0x00000001 (1), on ne pourra pas lancer le panneau de configuration.
![]() |
Mais cela n'est pas une règle absolue! |
Quelques stratégies sont activées pour une valeur de 0 et désactivées pour une valeur de 1. |
Afin d'éviter à l'utilisateur (administrateur) de manipuler directement la Base de Registres, Microsoft a conçu une Console (MMC) dont le nom du fichier est %systemroot%\system32\gpedit.msc.
Pour l'exécuter, depuis le menu démarrer/exécuter ou dans une
fenêtre de commandes, il suffit de taper
la commande :
GPEDIT.MSC
On peut également exécuter
GPEDIT à distance, sur un autre
ordinateur du réseau, par la commande :
GPEDIT.MSC
/gpcomputer:nom-de-l'ordinateur-distant
Pour une raison assez étrange, cette console n'est pas fournie dans Windows XP HOME.
Néanmoins elle fonctionne très bien sous XP HOME si on la recopie (avec d'autres fichiers) depuis un PC où XP PRO est installé.
Il faut d'abord copier les fichiers suivants :
%systemroot%\system32\gpedit.msc
%systemroot%\system32\gpedit.dll
%systemroot%\system32\gptext.dll
%systemroot%\system32\fde.dll
%systemroot%\system32\fdeploy.dll
%systemroot%\system32\appmgr.dll
%systemroot%\system32\appmgmts.dll
%systemroot%\inf\conf.adm
%systemroot%\inf\system.adm
%systemroot%\inf\inetres.adm
%systemroot%\inf\\wuau.adm (éventuellement. ce fichier sert à définir les stratégies Windows Update)
les fichiers .adm sont aussi présents dans le dossier
%systemroot%\system32\GroupPolicy\Adm
Ensuite, il faut enregistrer les composants par les commandes:
regsvr32 %systemroot%\system32\gpedit.dll
regsvr32 %systemroot%\system32\gptext.dll
regsvr32 %systemroot%\system32\fde.dll
regsvr32 %systemroot%\system32\fdeploy.dll
regsvr32 %systemroot%\system32\appmgr.dll
Elle se présente ainsi :
Windows 2000 | Windows XP |
![]() |
![]() |
Dans le panneau de gauche on trouve deux arborescences à la suite :
Dans le panneau de droite on trouve les stratégies
relatives à la branche sélectionnée à gauche.
Un double-clic sur l'une des stratégies provoque l'ouverture d'une boite
dialogue à 2 onglets :
GPEDIT puise ses informations :
dans un ensemble de fichiers ayant l'extension .ADM
(pour "Administration) qui servent de modèles, situés dans le dossier
%systemroot%\inf.
On les retrouve également dans le dossier %systemroot%\system32\GroupPolicy\Adm
après qu'une stratégie ait été définie (ce sous-dossier est créé
automatiquement).
Ce sont des fichiers texte de type ANSI (1 caractère = 1 octet) ou UNICODE
(1 caractère = 2 octets) .
Par défaut de 2 à 4 fichiers sont utilisés :
system.adm (système Windows)
inetres.adm (Internet Explorer)
conf.adm (NetMeeting) (éventuellement)
wuau.adm (Windows Update) (éventuellement)
dans la Base de Registres (dans les
branches définies précédemment)
dans deux fichiers nommés REGISTRY.POL, situés dans les dossiers :
%systemroot%\system32\GroupPolicy\machine
%systemroot%\system32\GroupPolicy\user
Microsoft (R)
Windows (R) 2000 Operating System Group Policy Result tool |
La structure de ces fichiers est détaillée dans le
paragraphe suivant.
Ils reflètent l'ensemble des stratégies appliquées sur une machine, et sont
lus :
Windows applique alors les stratégies correspondantes, en modifiant le cas échéant le contenu de la Base de Registres.
|
Organigramme de fonctionnement de GPEDIT : |
![]() |
Ces fichiers définis précédemment ont la structure suivante :
Enregistrements Taille
(octets)Commentaires Signature 4 Chaîne "PReg" (0x67655250) Version 4 Actuellement définie à 1 (0x00000001),
incrémentée à chaque nouveau format de fichier.Suite de sous-structures : [clef;entrée;type;taille;données]
les caractères "[", ";" et "]" figurent explicitement
Si les champs entrée, type, taille, données sont manquants ou nuls, la clef est crééeClef Variable Chaîne UNICODE contenant le nom de la clef sans le nom de branche
P.ex.: "Software\Policies\Microsoft\SystemCertificates\EFS"Entrée Variable Chaîne UNICODE contenant le nom de l'entrée
P.ex.: "EFSBlob"Certaines chaînes ont une signification spéciale :
**DeleteValues Suivie d'une liste d'entrées à supprimer, séparées par un point-virgule
P.ex.: "**DeleteValues;DisabletaskMgr;WarnUser"**Del.nom d'entrée Supprime une seule entrée
P.ex.: "**Del.NoLogoff"**DelVals Supprime toutes les entrées de la clef **DeleteKeys Supprime toutes les sous-clefs de la clef **SecureKey=x Définit les autorisations d'accès à la clef
**SecureKey=1 donne un accès total au système et aux administrateurs
**SecureKey=0 réinitialise toutes les autorisationsType 4 Définit le type d'entrée :
0x00000001 : REG_SZ
0x00000002 : REG_EXPAND_SZ
0x00000003 : REG_BINARY
0x00000004 : REG_DWORD
0x00000007 : REG_MULTI_SZTaille 4 Taille des données en octets Données Variable Valeur de l'entrée
Les stratégies définies à l'aide de GPEDIT s'appliquent à tous
les utilisateurs, administrateurs inclus., ce qui peut s'avérer
très gênant!
Voici une méthode pour remédier à ce problème :
Pour supprimer les stratégies (pour tous les utilisateurs) :
Comme cela a été exposé précédemment, ces fichiers servent de modèles à la création de stratégies.
Ces fichiers texte (ANSI ou UNICODE) comportent plusieurs sections, à structure arborescente, chaque section et sous-section étant identifiée par un mot-clef. On peut trouver également des directives conditionnelles liées à la version du système d'exploitation en cours.
Quelques règles syntaxiques :
Les lignes d'un fichier .adm sont indifférentes à la casse
Les espaces surnuméraires sont ignorés
Le caractère ";" (point-virgule) annonce un commentaire. Tout ce qui est situé à droite est ignoré
Les lignes vides sont ignorées.
Les chaînes de caractères doivent être encadrées par des guillemets (")
Les chaînes de caractères peuvent être stockées dans des variables,
dont le nom commence obligatoirement par la séquence "!!" (double point
d'exclamation).
Par exemple !!EnableSlowLinkDetect.
Le nom attribué à une variable est totalement arbitraire, mais il ne doit
pas comporter d'espace.
Le lien entre la variable et son contenu est défini, dans la section
[Strings] située à la fin du fichier, par une ligne de la forme :
nom_de_variable="chaine
de caractères"
Par exemple :
EnableSlowLinkDetect="Ne pas détecter les connexions réseau lentes".
Si une chaîne doit comporter des retours à la ligne (cas de texte d'aide),
on les remplace par la chaîne \n
Exemple commenté (extrait du fichier system.adm de Windows XP)
Ligne Rôle Commentaires #if version >= 3 Directive conditionnelle
(facultative)Tout ce qui suit ne s'applique que pour les Système de version supérieure ou égale à 3. Les versions sont ainsi numérotées :
2 : Windows NT4
3 : Windows 2000
4 : Windows XP et 2003
La portée de cette directive cesse dès qu'apparaît la directive #endif
Si la directive conditionnelle n'est pas vérifiée, toutes les lignes comprises entre #if version... et #endif sont ignorées.CLASS MACHINE Début de stratégies
(obligatoire)La directive CLASS est suivie de l'un des 2 mots-clefs :
- USER : stratégies relatives à l'utilisateur
clef HKCU- MACHINE : stratégies relatives à l'ordinateur
clef HKLMElle sert à définir le contexte dans lequel sont définies les stratégies qui vont suivre. Ce contexte est conservé tant que n'apparaît pas une autre directive CLASS
CATEGORY !!AdministrativeServices Début de catégorie
(obligatoire)La directive CATEGORY est suivie d'un nom arbitraire (ici on a utilisé une variable de chaîne, dont le contenu est égal à "Système")
Elle sert à afficher un noeud ayant le même nom ("Système") dans l'arborescence du panneau de gauche de GPEDITPOLICY !!NoSecurityMenu Début de stratégie La directive POLICY est suivie d'un nom arbitraire (ici on a utilisé une variable de chaîne, dont le contenu est égal à "Supprimer l'option Sécurité du menu Démarrer (Terminal Server uniquement)")
Elle sert à afficher une description rapide de la stratégie dans le panneau de droite de GPEDITKEYNAME "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" Nom de clef La directive KEYNAME est suivie du nom de la clef concernée par la stratégie (sans le nom de branche HKCU ou HKLM). EXPLAIN !!NoSecurityMenu_Help Aide contextuelle La directive EXPLAIN est suivie d'une chaîne arbitraire (ici on a utilisé une variable de chaîne) contenant un texte d'aide affiché dans la boite de dialogue associée à la stratégie. Ce texte peut comporter un grand nombre de lignes VALUENAME "NoNTSecurity" Nom d'entrée La directive VALUENAME est suivie du nom de l'entrée concernée par la stratégie. END POLICY Fin de stratégie END CATEGORY Fin de catégorie ... [strings] Début de section
de variables chaînesCette section est placée à la fin du fichier. ... AdministrativeServices="Système" Définition de variable chaîne ... NoSecurityMenu="Supprimer l'option Sécurité du menu Démarrer (Terminal Server uniquement)" Définition de variable chaîne NoSecurityMenu_Help="Supprime l'élément Sécurité Windows du menu Paramètres sur les clients Terminal Server.\n\nSi vous activez cette stratégie, l'élément Sécurité Windows n'apparaît pas dans le menu Paramètres du menu Démarrer. En conséquence, les utilisateurs doivent taper une séquence d'attention de sécurité, telle que Ctrl+Alt+Fin, pour ouvrir la boîte de dialogue Sécurité Windows sur un client Terminal Server.\n\nCette stratégie est conçue pour empêcher les utilisateurs peu expérimentés de se connecter aux services Terminal Server par inadvertance." Définition de variable chaîne
L'arborescence dans le panneau de gauche de GPEDIT est obtenue par imbrication des catégories les unes dans les autres.
Par défaut, et dans la plupart des cas, à une stratégie correspond dans la BDR une seule entrée de type REG_WORD, et de valeur
CATEGORY !!AdministrativeServices
CATEGORY !!Login_Policies
...
END CATEGORY
CATEGORY !!DiskQuota
...
END CATEGORY
...
END CATEGORYCATEGORY !!WindowsComponents
CATEGORY !!WindowsExplorer
CATEGORY !!Comdlg
...
END CATEGORY
...
END CATEGORY
...
END CATEGORY
Mais il peut exister des stratégies traduites par :
Pour cela on utilise des mots-clefs supplémentaires dans le fichier .adm, que l'on va commenter à l'aide d'exemples extraits du fichier system.adm :
Ligne Rôle Commentaires CATEGORY !!RegionalOptions
POLICY !!RestrictUILangSelect
KEYNAME "Software\Policies\Microsoft\Control Panel\Desktop"
EXPLAIN !!RestrictUILangSelect_HelpOn se trouve dans la catégorie "Options régionales" (de la catégorie "Panneau de configuration")
La stratégie est "Restreindre la sélection des menus Windows 2000 et des langues de dialogue"PART !!UILangSelect DROPDOWNLIST NOSORT REQUIRED Début de composant supplémentaire de stratégie La directive PART est suivie d'un nom arbitraire, servant à définir le composant de stratégie. Elle est suivie d'un mot clef définissant le type de saisie.
Ici DROPDOWNLIST indique une liste déroulante, non triée (NOSORT) et à sélection requise (REQUIRED)VALUENAME "MultiUILanguageID"
Nom d'entrée Nom de l'entrée concernée par la stratégie. ITEMLIST
Type de composant (Liste) Indicateur de début de liste NAME !!UILang1 VALUE 00000409 DEFAULT
NAME !!UILang2 VALUE 00000411
...
NAME !!UILang7 VALUE 0000040c
NAME !!UILang8 VALUE 00000c0a
NAME !!UILang9 VALUE 00000410
...Éléments de Liste La directive NAME est suivie :
- d'une valeur affichée dans la liste déroulante (P.ex. !!UILang7 contient "Français")
- du mot clef VALUE suivi de la valeur qui sera stockée dans la BDR
- du mot-clef éventuel DEFAULT indiquant laséelction par défaut
END ITEMLIST
Fin de liste Indicateur de fin de liste END PART
Fin de composant Indicateur de fin de composant END POLICY
END CATEGORY ;;RegionalOptionsAspect de la boite de dialogue Résultats dans la BDR
En plus de DROPDOWNLIST, on dispose des types de composants suivants :
Types Rôle Exemple CHECKBOX Case à cocher EDITTEXT Saisie de texte TEXT Texte statique (aucune entrée associée) COMBOBOX Fusion de DROPDOWNLIST (liste déroulante) et de EDITTEXT (texte éditable) LISTBOX Liste d'items, modifiable par le biais d'une boite de dialogue servant à ajouter ou retirer un item
Action sur Afficher :
Il s'effectue à partir du menu contextuel Modèles d'administration
Ajout/Suppression de modèles...
mais
si le fichier adm que l'on ajoute concerne des clefs autres que :
les stratégies qu'il décrit n'apparaîtront pas (par défaut) dans GPEDIT!
Il faut paramétrer l'affichage de GPEDIT en conséquence.
Ce paramétrage diffère un peu suivant les versions de Windows :
Version Emplacement Commentaires Windows 2000
Décocher les items :
- Ne montrer que les stratégies
- Ne montrer que les stratégies configurées
Windows XP (et +)
Sélectionner Filtrage puis décocher les cases
- Afficher uniquement les paramètres de stratégies configurés
- N'afficher que les paramètres de stratégie pouvant être entièrement gérés
Suivant qu'une stratégie concerne ou non les clefs "standard", la couleur de l'icône est différente :
Type de stratégie Aspect Clefs Stratégie "système"
(clefs non standard)(en rouge)
HKCU\Control panel\keyboard\InitialKeyboardIndicators Stratégie "standard" (en bleu)
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoStartMenuSubFolders
SHOWADM est un script VBS dont le but est d'expliciter de façon synthétique le contenu de un ou plusieurs fichiers
.adm.
Il utilise deux contrôles ActiveX
additionnels :
Il fait appel à EXCEL (obligatoire) pour y créer de façon totalement automatique un tableau énumérant :
Sa mise en oeuvre se limite à copier les fichiers
showadm.vbs,
comctl32.ocx et
jcb.ocx dans un dossier quelconque.
Ensuite il suffit d'exécuter le script showadm.vbs depuis une fenêtre de
commandes, l'explorateur ou le menu Démarrer/Exécuter
Un formulaire (dans Internet Explorer) s'ouvre alors
Pour modifier la liste de fichiers .adm, appuyer sur le bouton "Liste fichiers ADM"
Cela provoque l'ouverture d'une boite dialogue affichant la liste des fichiers actuellement retenus. Deux boutons Ajouter et Supprimer permettent de modifier cette liste (le bouton Supprimer n'est actif que si on a sélectionné un fichier dans la liste)
L'action sur Ajouter provoque l'ouverture de la boite de dialogue habituelle de sélection de fichiers.
Appuyer sur OK, puis recommencer éventuellement l'ajout de fichiers.
La liste est alors actualisée dans le formulaire initial.
Appuyer sur Afficher
Le formulaire se ferme alors, et quelques instants plus tard s'affiche un classeur EXCEL à 2 onglets (Machine et Utilisateur), qui se remplit peu à peu. A la fin on obtient ceci : En tête du classeur est affichée la liste des fichiers , ainsi que la branche concernée (HKCU ou HKLM) Les cellules de la colonne Stratégie sont dotées de commentaires, affichés dans une fenêtre "popup"
On peut faire appel à toutes les fonctions de EXCEL, par exemple celle de recherche d'une chaîne : On voit qu'il existe plusieurs stratégies répondant à ce critère, dont "Activer l'écran de veille"
On peut voir que la clef correspondante est Software\Policies\Microsoft\Windows\Control Panel\Desktop\ScreenSaveActive, ce qui est confirmé par l'ouverture automatique de REGEDIT :
![]() |
Téléchargements | |
SHOWADM.VBS | script VBS | |
JCB.OCX | contrôle ActiveX (JCB) | |
COMCTL32.OCX | contrôle ActiveX (Microsoft) | |
SHOWADM.ZIP | contient les 3 fichiers précédents | |
ADM.ZIP | Comme GPEDIT n'existe pas sous XP HOME, les fichiers .adm principaux n'existent pas sous ce système. Ce fichier compressé contient les 4 fichiers :
Il doit être décompressé dans le dossier |
Usage entièrement gratuit !
A venir
prochainement...