Déployer une ou plusieurs polices d’impression sur les machines de votre parc et sans que les utilisateurs soient administrateur de leur poste !

Bonjour

J’ai récemment été confronté à une problématique de déploiement de polices d’impression.
En effet à ma grand surprise, il n’existe pas de stratégie de groupe qui gère le déploiement d’une police d’impression.

Je devais déployer plusieurs police d’impression sur plusieurs centaines de stations de travail tout en respectant les contraintes suivantes :
* La procédure devait être complètement automatique.
* Les utilisateurs ne devaient pas être administrateur de leur poste.

Pour rappel, une police d’impression se présente sous la forme d’un fichier .TTF que l’on ajoute dans le panneau de configuration | Polices.

La solution :

La solution ci dessous fonctionnent avec des postes Windows XP Pro, Windows 2000 et Windows 2003 Server.
Elle nécessite la présence d’un domaine Active Directory (dans notre cas lab.fr) et que tous les postes soient dans le domaine Active Directory.
Pour que cela fonctionne, il faut aussi déployer le fichier reg.exe sur les postes Windows 2000 Pro.
Dans l’exemple ci dessous, les polices d’impression  s’appelle « police1.ttf » et « police2.ttf ».

L’idée générale est d’installer la police à l’aide d’un script.
Comme les utilisateurs ne sont pas administrateur et qu’installer une police nécessite des droits administrateur, on va utiliser le composant script de démarrage (stratégie ordinateur) de la stratégie de groupe. Le script s’exécute alors sous le compte SYSTEM (administrateur local).

Etape 1 : copie des polices et du fichier reg.exe dans le répertoire netlogon
Créer un répertoire « polices » au niveau du partage netlogon \\lab.fr\Netlogon.
Dans ce répertoire, copier le fichier police1.ttf et police2.ttf et le fichier reg.exe (vous pouvez trover ce fichier dans les supports tools sur le CD de WIndows 2000 Server).

Etape 2 : création du script (fichier script.bat)
 
@echo off
rem Test de la presence des fichiers
if not exist %systemroot%\Fonts\Police1.ttf goto copy
if not exist %systemroot%\Fonts\Police2.ttf goto copy
goto end

:copy
rem test présence reg.exe
if not exist %systemroot%\system32\reg.exe goto copy_reg
goto copy2

:copy_reg
xcopy \\votre_nom_domaine_dns\NETLOGON\Polices\reg.exe %systemroot%\system32\ /y /c
goto copy2

:copy2
rem copie des police et ajout dans le registre
xcopy \\votre_votre_nom_domaine_dns\NETLOGON\Polices\*.* %systemroot%\Fonts /y /c
rem Ajout dans le registre
reg add « HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts » /v « Police1″ /t REG_SZ /d Police1.ttf /f
reg add « HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts » /v « Police2″ /t REG_SZ /d Police2.ttf /f
goto end

:end
exit

Etape 3 : Configuration de la stratégie de groupe :
Tester le script d’abord sur une OU puis le configurer sur les OU qui contiennent les comptes ordinateurs.
Créer une stratégie de groupe au niveau d’une OU.
Editer la stratégie puis ensuite aller dans  Configuration ordinateur | Paramètres Windows | Script | Démarrage
En effet les scripts de démarrage configurés via le composant Scripts d’une GPO s’exécutent sous l’utilisateur « system » qui a des droits administrateur local.
Double cliquer sur Démarrage.
Cliquer sur afficher les fichiers.
Coller votre script et faire ajouter.

Etape 4 : redémarrer les postes
Attendre que les stratégies se mettent à jour sur le poste client ou faire un gpupdate /force.
Redémarrer 1 fois la machine. Le script s’applique.
Redémarrer 1 seconde fois la machine et la police est fonctionnelle. Ce second reboot est du au fait que les modifications effectuées au niveau du registre nécessitent un redémarrage.

A+

À propos de Guillaume Mathieu

Consultant - Formateur chez PROSERVIA (Pôle Conseil Expertise)
Ce contenu a été publié dans Active Directory, Police d'impression, Scripts, Windows 2000 Pro, Windows 2000 Server, Windows 2003 Server, Windows XP. Vous pouvez le mettre en favoris avec ce permalien.

7 réponses à Déployer une ou plusieurs polices d’impression sur les machines de votre parc et sans que les utilisateurs soient administrateur de leur poste !

  1. Manu dit :

    Super tuto, très bien expliqué !!

  2. Alban ESNAULT dit :

    Merci Msreport pour ce tuto claire et documenté.

  3. DBUISSON dit :

    Salut, je rencontre un problème avec ta méthode pour déployer une police.

    Lorsque le fichier .bat s’execute j’ai une erreur :
    Erreur : non de clé non valide

    Qui correspond à cette ligne :
    reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts” /v “spranq_eco_sans_regular” /t REG_SZ /d spranq_eco_sans_regular.ttf /f

    Merci de ton aide

  4. Salut

    Regarde si ton problème ne vient pas du fait que la commande n’est pas séparé avec un retour ligne.
    Toute cette commande doit se trouvcer sur une seule ligne :

    reg add « HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts » /v spranq /t REG_SZ /d c:\spranq_eco_sans_regular.ttf /f

  5. admin-master dit :

    merci l’ami tout est claire

  6. thierry dit :

    merci,
    pour cette explication,
    j’ai un script vbs au démarrage de mes clients, on ne peut pas mettre un script .bat en plus il me semble,
    comment puis faire ?
    merci

  7. noblot dit :

    Bonjour ,
    Ce post date un peu ,cependant je m’en suis inspiré pour déployer une fonts et je tombe sur l’erreur :nom de clé non valide ? Une idée?
    je suis avec un AD 2008 et le postes client sont en W7 et XP Pro

    Merci d’avance de votre aide ,
    Bien Cordialement,
    Carole

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*


+ 7 = dix

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>