rss logo

Déployer des polices via les objets de stratégie de groupe (GPO) sous Windows

Microsoft logo

J'ai dû déployer une police de caractère dans un environnement Microsoft Windows Active Directory. Étonnamment, il semble qu'il n'y ait pas de moyen natif de distribuer des polices de caractères via les Group Policy Objects. Pour y parvenir, j'ai écrit un script batch qui est exécuté au démarrage lorsque les utilisateurs se connectent via les Group Policy Objects.

Fichier de police

Tout d'abord, nous avons besoin du fichier de police que nous voulons déployer. Dans le cadre de cet exemple, disons que nous voulons déployer la police STD-Regular (OpenType).

Un fichier de police Windows

L'objectif est de copier ce fichier de police dans le répertoire C:\Windows\Fonts sur chaque ordinateur où nous voulons déployer la police.

Script Batch

Commandes principale à comprendre

  • Vérifier si la police STD-Regular (OpenType) est présente afin de déterminer si elle est déjà installée :
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" | findstr "STD-Regular (OpenType)"
  • Copier le fichier de police de l'Active Directory vers le répertoire C:\Windows\Fonts :
copy \\std.local\SYSVOL\std.local\scripts\STD-Regular.otf C:\Windows\Fonts\
  • Enregistrer la police dans le registre Windows :
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "STD-Regular (OpenType)" /t REG_SZ /d STD-Regular.otf /f

Script complet en batch

  • Placez ce script dans le répertoire C:\Windows\SYSVOL\sysvol\votre_domaine.local\scripts\ de votre serveur Active Directory :
@echo off

REM Vérifie si la police est déjà enregistrée dans Windows
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" | findstr "STD-Regular (OpenType)"

REM Arrête le script si l'entrée de registre de la police existe déjà
IF %ERRORLEVEL% == 0 goto END

REM Copie le fichier de police depuis le partage SYSVOL du domaine vers le répertoire des polices Windows
copy \\std.local\SYSVOL\std.local\scripts\STD-Regular.otf C:\Windows\Fonts\

REM Enregistre la police dans le registre Windows
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "STD-Regular (OpenType)" /t REG_SZ /d STD-Regular.otf /f

REM Fin du script
:END
  • Depuis Active Directory, enregistrez le script batch et la police STD-Regular.otf dans le dossier C:\Windows\SYSVOL\sysvol\std.local\scripts\ :
Capture d'écran de l'explorateur Windows montrant le script et le fichier de police

Créer un objet de stratégie de groupe

Pour automatiser le processus d'installation de la police de caractères, nous allons créer un objet de stratégie de groupe (GPO) qui exécute le script batch au démarrage des ordinateurs.

  • Ouvrez la console Utilisateurs et ordinateurs Active Directory :
Exécuter Utilisateurs et ordinateurs Active Directory
  • Déplacez les ordinateurs sur lesquels vous souhaitez installer la police de caractères dans l'Unité d'organisation (OU) Workstations :
Exécuter Utilisateurs et ordinateurs Active Directory
  • Ouvrez la console Gestionnaire de stratégies de groupe :
Exécuter le Gestionnaire de stratégies de groupe
  • Créez le GPO :
Créer un GPO
  • Entrez un nom descriptif pour la nouvelle GPO :
Nom du nouveau GPO
  • Modifiez l'objet de stratégie de groupe (GPO) :
Modifier un GPO
  • Accédez à Configuration de l'ordinateur > Stratégies > Paramètres Windows > Scripts (Démarrage/Arrêt). Cliquez avec le bouton droit sur Démarrage et sélectionnez Propriétés :
Capture d'écran de l'Éditeur de stratégie de groupe pour créer un script de démarrage
  • Cliquez sur Ajouter..., puis cliquez sur Parcourir pour localiser le fichier de script :
Three steps to select the batch script that will be launched at startup

Et voila!