En guise de rappel, les Group Policy Preferences sont une des nouvelles fonctionnalités de Windows Server 2008, qui permettent de gérer, via les Group Policies, plein de réglages "workstation-side" tels que les lecteurs réseau, les paramètres énergétiques, etc. des machines du domaine.
http://support.microsoft.com/kb/943729
http://www.frickelsoft.net/blog/do [...] better.pdf
Nous les avons déployées sur notre domaine (Servers 2K8, workstations XP) et elles fonctionnent très bien, en particulier pour les "mapped drives" (lecteurs réseau), c'est un vrai bonheur de simplicité et de clarté dans la gestion.
Justement, nous utilisions aussi un vieux crappy script en VBS pour copier des fichiers templates (.dot etc.) depuis un share réseau vers les PCs des utilisateurs.
Je tente donc d'utiliser les GPP à cet effet, et je me heurte à un problème :
La copie de fichiers en tant que telle fonctionne. J'arrive à définir un fichier (on peut même en définir plusieurs avec des wildcards) à copier et chaque fois que la policy est appliquée (en l'occurrence ici, au logon de l'utilisateur ou via un /gpudate), les fichiers sont effectivement copiés.
Voici les seuls paramètres que me propose la GPP :
- Create : le fichier est créé une fois, et la GPP ne s’en occupe plus après, tant qu’il existe.
- Update : contrairement à ce que le nom laisse suggérer, cette option ne met pas à jour le fichier s’il a changé de taille etc. Ce choix ne fait que "mettre à jour les attributs du fichier" (source : le bouton "Help" de la fenêtre prise en capture d'écran ici). Je ne sais pas exactement de quels attributs on parle (A H R S ?) mais de toute manière cela ne semble pas servir nos besoins.
- Replace : Fait systématiquement une nouvelle copie du fichier
- Delete ; pas concerné ici.
Nous sommes donc devant une impasse :
- Si on choisit l’option Replace, à chaque fois que la GPP est appliquée (à chaque logon user), environ 8 MB (totalité des fichiers templates) vont transiter sur le réseau par utilisateur. Nous avons environs 2500 utilisateurs, nous ne pouvons pas nous permettre ceci.
- Si on choisit l’option Update, si une mise à jour des fichiers est effectuée, les utilisateurs n’en auront pas la dernière version si celle-ci est modifiée sur le répertoire source. Et cela arrive de manière épisodique certes mais suffisamment fréquente pour être notée.
Dans le Item-Level targeting (onglet "Common" ) il y a la possibilité de restreindre l'application de la GPP à une série de critères. J'ai exploré la voie de la clef registre, mais je ne trouve rien de concluant.
Exemple : mettre une clef registre qui contient la dernière date de mise à jour des templates sur une machine XP, ainsi qu'une référence (mais où ???) reprenant la dernière date disponible sur le share réseau. Si la date des fichiers PC est antérieure à la date de la dernière mise à jour présente, effectuer le transfert.
Mais :
- je ne sais pas comment faire de comparaison "plus petit" ou "plus grand" et cela ne semble pas possible dans le item-level targeting.
- Je ne vois pas trop comment définir facilement quelque part la dernière date de mise à jour des fichiers. On peut bien sûr créer une clef registre, mais encore une fois, une comparaison (à part sur l'équivalence) est impossible.
J'ai trouvé un article intéressant sur le sujet :
http://social.technet.microsoft.co [...] e09f61a4b1
qui link vers :
http://social.technet.microsoft.co [...] 86bc1767cd,
où quelques personnes disent que pour ce que je veux faire il faut utiliser du script (Robocopy via une Scheduled Task, berk! ) ou le DFSR (que je ne connais pas pour ainsi dire).
J'suis pas trop chaud pour ça faut dire, et j'ai l'intuition que j'approche d'une solution avec les GPP à elles seules.
TL;DR : Comment utiliser l'option File Copy des GPP pour transférer des fichiers d'une répertoire réseau vers les machines des utilisateurs, une seule fois lorsque les utilisateurs ne l'ont pas, et ensuite uniquement les fichiers mis à jour ?
Message édité par ZeBix le 09-03-2010 à 17:55:29