GPO Windows Server : appliquer des fonds d’écran différents par groupe d’utilisateurs (wallpaper A/B)

Vous devez déployer deux fonds d’écran différents via GPO et l’un d’eux refuse obstinément de s’appliquer ? Voici une méthode complète, testée en production, pour cibler précisément vos utilisateurs, éviter les conflits et diagnostiquer rapidement les pannes.

Sommaire

Vue d’ensemble de la question

Objectif : attribuer le fond d’écran A à un premier ensemble d’utilisateurs et le fond d’écran B à un second, uniquement avec des GPO. Problème rencontré : malgré deux GPO distinctes correctement liées aux OU ou filtrées par groupes, le fond d’écran B n’apparaît jamais.

La cause est presque toujours l’une de ces catégories : accès au fichier, paramétrage de la GPO, filtrage/ordre/priorité, concurrence avec d’autres GPO ou loopback, cache/thèmes côté client. Le guide ci‑dessous propose un plan en quatre temps : préparer les ressources, créer/configurer les GPO, cibler proprement, puis diagnostiquer.

Architecture recommandée

  • Deux GPO utilisateur distinctes : GPO‑WallpaperA et GPO‑WallpaperB.
  • Deux groupes de sécurité : WallpaperA et WallpaperB (mutuellement exclus si possible).
  • Partage réseau central pour les images : \\Serveur\Wallpapers\ (droits Read pour les utilisateurs ciblés).
  • Filtrage de sécurité sur chaque GPO + conservation du droit Read pour Authenticated Users (sans Apply).
  • Ordre de liaison GPO maîtrisé au niveau des OU utilisateurs. Éviter d’activer Enforce sans nécessité.

Procédure pas à pas

Préparer les fichiers et les droits

  1. Créez le partage : \\Serveur\Wallpapers\.
    Droits de partage : Everyone → Read ou groupes dédiés.
    Droits NTFS : lecture pour Domain Users ou, mieux, vos groupes WallpaperA/WallpaperB.
    Évitez les chemins locaux (C:\) ou lecteurs mappés : utilisez un chemin UNC stable (éventuellement un chemin DFS).
  2. Placez vos images : FondA.jpg et FondB.jpg au format JPEG 24‑bits (compatibilité maximale). Préférez une haute résolution (jusqu’à 4K) et le style Fill pour couvrir la majorité des écrans.

Créer et configurer les GPO

  1. Dans la console Group Policy Management, créez GPO‑WallpaperA et GPO‑WallpaperB.
  2. Éditez chaque GPO :
    Chemin : User Configuration ▸ Administrative Templates ▸ Desktop ▸ Desktop ▸ Desktop Wallpaper.
    Paramètres :
    • Activez la stratégie.
    • Wallpaper Name : \\Serveur\Wallpapers\FondA.jpg (ou FondB.jpg).
    • Wallpaper Style : sélectionnez Fill, Fit, Stretch, etc.
  3. (Optionnel mais conseillé) Bloquez le changement côté utilisateur :
    User Configuration ▸ Administrative Templates ▸ Control Panel ▸ Personalization ▸ Prevent changing desktop backgroundEnabled.

Cibler correctement les utilisateurs

Deux approches possibles :

  • Liaison à des OU “pures” (ne contenant que les utilisateurs visés). Simple et robuste.
  • Filtrage de sécurité si vos OU sont mixtes :
    Dans l’onglet Scope de la GPO, section Security Filtering :
    • GPO‑WallpaperA → ajoutez le groupe WallpaperA.
    • GPO‑WallpaperB → ajoutez le groupe WallpaperB.
    • Supprimez Authenticated Users du filtrage Apply, mais conservez‑leur le droit Read via l’onglet Delegation (bouton Advanced, cochez Read uniquement). Cela évite des erreurs d’évaluation et reste une bonne pratique.

Maîtriser l’ordre et la priorité

  • Link Order : en cas de chevauchement, la GPO avec l’ordre de lien le plus bas (appliquée en dernier) l’emporte.
  • Enforce : à utiliser en dernier recours. Un Enforce placé trop haut peut empêcher l’application de la GPO “B”.
  • Block Inheritance (sur une OU) peut neutraliser des GPO de niveau supérieur ; vérifiez que ce n’est pas le cas pour la GPO “B”.

Valeurs de registre utiles (pour comprendre et dépanner)

La stratégie Desktop Wallpaper écrit dans la ruche utilisateur. Vous pouvez vérifier ou imposer les valeurs si besoin.

CléValeurRôleNotes
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Wallpaper (REG_SZ)Chemin de l’imageEx. \\Serveur\Wallpapers\FondA.jpg
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\WallpaperStyle (REG_SZ)Style d’affichageVoir tableau ci‑dessous
HKCU\Control Panel\Desktop\Wallpaper, WallpaperStyle, TileWallpaperPréférences utilisateurPeut refléter l’état effectif selon les versions
Style visibleWallpaperStyleTileWallpaperCommentaire
Center00Image centrée, non redimensionnée
Tile01Image répétée
Stretch20Étire l’image
Fit60Respecte le ratio
Fill100Recommandé pour la plupart des écrans
Span (multi‑moniteurs)220Étale une grande image sur tous les écrans

Diagnostic côté client

Sur un poste d’essai ciblé par la GPO “B”, en session utilisateur :

  1. Forcer l’actualisation :
    gpupdate /force
  2. Vérifier les GPO réellement appliquées :
    • Rapide : gpresult /r
    • Complet (HTML) : gpresult /h C:\Temp\gp.html & start C:\Temp\gp.html
    • RSOP : rsop.msc et naviguez jusqu’à User Configuration ▸ Administrative Templates ▸ Desktop.
  3. Consulter le journal : Event Viewer ▸ Applications and Services Logs ▸ Microsoft ▸ Windows ▸ GroupPolicy. Recherchez les erreurs de chemin UNC ou de permissions.
  4. Vider le cache si l’ancien fond revient : supprimer le dossier %AppData%\Microsoft\Windows\Themes\CachedFiles puis se déconnecter/reconnecter.

Pourquoi “B” ne s’applique jamais ? Carte des causes probables

  1. Conflit d’appartenance : l’utilisateur est membre de WallpaperA et WallpaperB. La dernière GPO appliquée l’emporte (selon l’ordre de lien). Correctif : rendez les groupes mutuellement exclus, ou pilotez le Link Order.
  2. GPO “A” en “Enforce” ou héritage bloqué. Correctif : supprimez Enforce s’il n’est pas indispensable, ou ajustez l’héritage.
  3. Filtrage de sécurité incomplet : “B” n’a pas le droit Apply ou n’a pas de Read. Correctif : faites relire les ACL : Read pour Authenticated Users, Apply uniquement pour le groupe ciblé.
  4. OU cible erronée : vous avez lié la GPO “B” à une OU d’ordinateurs alors que la stratégie est User Configuration. Correctif : lier aux OU d’utilisateurs.
  5. Loopback Processing actif sur le poste

(Computer Configuration ▸ Administrative Templates ▸ System ▸ Group Policy ▸ User Group Policy loopback processing mode) : en Replace, il écrase les GPO utilisateur par celles liées à l’OU des ordinateurs (RDS/VDI typiquement) — “B” peut être neutralisée. Correctif : réévaluer le besoin du loopback ou déployer “B” via l’OU des machines avec loopback.

  1. Chemin UNC inaccessible au logon (Wi‑Fi lent, site distant, Fast Logon). Correctif : activer Computer Configuration ▸ Administrative Templates ▸ System ▸ Logon ▸ Always wait for the network at computer startup and logon ; ou copier localement l’image via GPP (voir plus bas).
  2. Format/encodage d’image exotique (profil couleur, PNG 48‑bits). Correctif : convertir en JPEG 24‑bits standard.
  3. Scripts ou thèmes concurrents (logon script ou thème importé). Correctif : neutraliser ces paramètres ou les déplacer après votre GPO dans l’ordre souhaité.
  4. Réplication AD/GPO non stabilisée sur plusieurs DC. Correctif : laisser la réplication s’achever et rejouer gpupdate, ou tester contre un DC local au site.

Variante robuste : copier l’image en local via GPP puis pointer la stratégie dessus

Cette approche supprime les dépendances réseau au logon.

  1. Copier le fichier en local avec User Configuration ▸ Preferences ▸ Windows Settings ▸ Files :
    • Action : Update
    • Source : \\Serveur\Wallpapers\FondB.jpg
    • Destination : %LocalAppData%\Company\Wallpapers\FondB.jpg (le dossier sera créé si nécessaire)
    • Common : cochez Run in logged-on user’s security context.
    • Item-level targeting : ciblez le Groupe “WallpaperB”.
  2. Configurer la GPO “Desktop Wallpaper” en pointant vers le chemin local : %LocalAppData%\Company\Wallpapers\FondB.jpg.

Alternatives : utiliser Computer Configuration ▸ Preferences ▸ Files pour copier vers %ProgramData%\Company\Wallpapers (exécuté en SYSTEM), puis activer le Loopback ▸ Replace sur les postes où l’on veut imposer ce fond à tous les utilisateurs.

Paramètres complémentaires recommandés

  • Attente réseau : Always wait for the network at computer startup and logon sur les postes sensibles (WAN/VDI).
  • Empêcher la modification : Prevent changing desktop background pour verrouiller le résultat.
  • Thèmes : évitez d’appliquer simultanément un .theme qui pourrait réécrire le fond.
  • Nommer clairement : USR‑WallpaperA, USR‑WallpaperB ; documenter le périmètre, l’ordre et le filtrage.

Plan de test rapide (contrôle qualité)

  1. Choisir deux comptes de test, un par groupe (WallpaperA et WallpaperB).
  2. Ouvrir session successivement sur un poste propre (pas d’autres GPO expérimentales) ; exécuter : whoami /groups gpupdate /force gpresult /h C:\Temp\gp.html
  3. Contrôler visuellement le fond, puis analyser gp.html pour confirmer la/les GPO appliquées.
  4. Basculer le compte de test entre les groupes pour valider la priorité et l’ordre de lien.

Tableau de contrôle éclair

SituationAction rapide
Les images changent puis reviennentVérifier qu’une GPO de niveau supérieur ou un script ne réécrit pas le paramètre.
Parc avec plusieurs résolutionsFichier JPG haute résolution + style Fill.
Image noire/bleueConvertir en JPEG 24‑bits ; tester un autre viewer ou un autre fichier.
Hors domaineDéployer un script PowerShell ou un .reg sur HKCU\Control Panel\Desktop\Wallpaper.
Accès réseau fluctuantCopie locale via GPP + pointage GPO sur le chemin local.

Exemple complet de mise en œuvre

  1. Groupes : créer WallpaperA et WallpaperB et définir des règles d’appartenance exclusives.
  2. Partage : déposer FondA.jpg, FondB.jpg dans \\Serveur\Wallpapers\ avec droits de lecture pour les deux groupes.
  3. GPO :
    • GPO‑WallpaperA → stratégie Desktop Wallpaper = \\Serveur\Wallpapers\FondA.jpg, style Fill, filtrée sur WallpaperA.
    • GPO‑WallpaperB → stratégie Desktop Wallpaper = \\Serveur\Wallpapers\FondB.jpg, style Fill, filtrée sur WallpaperB.
  4. Scope : conserver Authenticated Users avec Read (sans Apply) ; vérifier que l’OU liée contient bien des utilisateurs.
  5. Link Order : décider qui l’emporte en cas de double appartenance (idéalement, éviter la double appartenance).
  6. Validation : gpupdate /force + gpresult /h + inspection du journal GroupPolicy.

FAQ express

Faut‑il activer le loopback ? Non pour un ciblage pur “utilisateur”. Oui uniquement pour des postes RDS/VDI où vous voulez forcer un fond pour toute session, quelle que soit l’OU utilisateur.

Puis‑je utiliser un lecteur mappé (Z:\) ? À éviter. Au logon, le mapping peut ne pas être prêt. Utilisez un UNC/DFS ou copiez le fichier en local via GPP.

Comment empêcher les utilisateurs de changer le fond ? Activez Prevent changing desktop background et, si besoin, Prevent changing theme.

Et si je veux un fond par site géographique ? Faites un Item‑level targeting sur l’attribut Site (GPP) ou des groupes “Site‑Paris”, “Site‑Lyon”.

Snippets utiles

Vérifier l’accès aux images :

Test-Path '\\Serveur\Wallpapers\FondB.jpg'

Imposer rapidement par registre (dépannage) :

Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\System' -Name Wallpaper -Value '\\Serveur\Wallpapers\FondB.jpg'
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\System' -Name WallpaperStyle -Value '10'  # Fill
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

Résumé opérationnel

  1. Centralisez les images sur un partage lisible par les utilisateurs visés.
  2. Créez deux GPO (WallpaperA, WallpaperB) et configurez Desktop Wallpaper avec chemin UNC + style.
  3. Appliquez un filtrage de sécurité par groupes et ajustez le Link Order.
  4. Testez avec gpupdate /force puis gpresult ; corrigez droits et priorités si nécessaire.
  5. En cas de lenteurs réseau, copiez localement via GPP et pointez la stratégie sur le fichier local.

Checklist détaillée de dépannage

ÉtapeVérificationRésultat attenduSi échec…
Accès au fichierTest-Path sur le chemin UNCTrueAjuster droits NTFS/partage
Emplacement GPOGPO liée à une OU d’utilisateursOKRelier à la bonne OU
FiltrageGroupe WallpaperB a Apply, Authenticated Users a ReadOKCorriger les ACL GPO
PrioritéOrdre de lien contrôléGPO souhaitée “gagne”Réordonner ou rendre les groupes exclusifs
LoopbackMode Replace/Merge désactivé sauf besoinOKDésactiver ou déplacer le déploiement côté machines
CacheSuppression CachedFiles après changementNouveau fond stableNettoyer cache + relogin

Bonnes pratiques de production

  • Images optimisées : moins de 2‑3 Mo quand c’est possible (réduit le trafic WAN et accélère le logon).
  • Chemins DFS : un namespace DFS réduit la dépendance à un serveur unique.
  • Convention de nommage : USR‑Wallpaper‑Dept‑A, USR‑Wallpaper‑Dept‑B + commentaire GPO (but, périmètre, propriétaire).
  • Modélisation : utilisez l’assistant Group Policy Modeling pour simuler l’effet des GPO selon l’appartenance aux groupes.
  • Journalisation : conservez des exports gpresult /h de référence après chaque changement.

Conclusion

En appliquant ces vérifications méthodiques — accès au fichier, paramétrage correct, filtrage propre, ordre maîtrisé et diagnostics côté client — vous éliminez les causes classiques qui empêchent l’application du fond “B”. Pour des environnements distribués ou instables, la variante “copie locale + GPO” offre une fiabilité proche de 100 %.

Sommaire