Windows 8 : deux méthodes pour rafraîchir les réglages des politiques de groupes
La console de gestion des politiques de groupes et un cmdlet PowerShell permettent de configurer l’actualisation à distance des politiques de groupe de Windows Server 2012 et de Windows 8.
Les réglages de politiques de groupe sont appliqués lorsqu’un poste client redémarre ou lorsque s’achève un intervalle d’actualisation des politiques de groupe. Cet intervalle peut être modifié sur un objet de stratégie de groupe (GPO) configuré sur un contrôleur de domaine. Microsoft fournit l’outil de ligne de commande gpudate.exe pour rafraîchir immédiatement les réglages de politiques de groupe sur un poste client. Mais cet outil ne permet pas de forcer l’actualisation de ces réglages sur un poste distant.
Toutefois, lorsqu’il est nécessaire de rafraîchir les réglages de GPO sur plusieurs postes dans l’instant, il existe quatre façons de procéder : en passant par la console de gestion des politiques de groupe (GPMC), un cmdlet PowerShell, l’exécutable PSexec, ou encore l’utilitaire de ligne de commande Windows Management Instrumentation (WMI).
Utiliser la console GPMC pour rafraîchir les réglages d’un GPO
Windows Server 2012 intègre une nouvelle fonction permettant de mettre à jour les réglages de GPO sur de multiples ordinateurs, à distance. L’action Group Policy Update, disponible dans le menu contextuel d’une unité organisationnelle de la console GPMC, peut être utilisée pour actualiser à distance les réglages d’un GPO, comme le montre la Figure 1.
GPMC permet de mettre à jour les réglages d’un GPO sur de multiples ordinateurs. Mais cette approche présente quelques inconvénients. Tout d’abord, GPMC va traiter ces mises à jour sur tous les ordinateurs de l’unité organisationnelle sélectionnée. Ainsi, il n’est pas possible de sélectionner spécifiquement les ordinateurs auxquels on souhaite spécifiquement appliquer la mise à jour.
En outre, il n’est pas possible de spécifier les réglages individuels à traiter. Par exemple, il n’est pas possible de spécifier que seuls les réglages utilisateurs ou seuls les paramètres de configuration de l’ordinateur doivent être traités : ces deux jeux de réglages sont traités sur les ordinateurs cibles.
GPMC crée deux tâches programmées sur les ordinateurs distants. L’une des tâches est créée pour rafraîchir la configuration utilisateur avec la commande « GPUpdate.exe /target:user /force ». La seconde est créée pour actualiser la configuration de l’ordinateur avec la commande « GPUpdate.exe /target:computer /force ». Mais GPMC échouera à créer la tâche programmée sur la création de tâches programmées a été désactivée sur les ordinateurs cibles à travers un réglage de GPO.
Qui plus est, GPMC ne vérifie pas la présence de GPUpdate.exe. Si l’exécutable est manquant, les mises à jour GPO vont échouer. Et cet échec ne sera pas rapporté à la console GPMC.
Enfin, le recours à GPMC nécessite l’application de certaines règles au pare-feu des postes clients, afin d’autoriser la gestion à distance des tâches planifiées (RPC et RPC ERMAP), et l’instrumentation d’administration de Windows (WMI-IN).
Utiliser PowerShell
Le cmdlet PowerShell Invoke-GPUpdate offre des fonctionnalités très comparables à celles de la console GPMC. Toutefois, il fournit des paramètres pouvant être utilisés pour actualiser des réglages de GPO avec un réglage préféré. Ce cmdlet doit être exécuté depuis un ordinateur fonctionnant sous Windows 8 ou Windows Server 2012. Et lui aussi créée des tâches planifiées sur les ordinateurs cibles. Il supporte les paramètres suivants :
AsJob peut être utilisé pour lancer le cmdlet en tâche de fond.
Boot provoque le redémarrage de l’ordinateur après la mise à jour des réglages de GPO. Nécessaire lorsque des réglages d’installation de logiciels par ordinateur ont été configurés.
Computer permet de spécifier le nom de l’ordinateur pour lequel programmer une actualisation de GPO. Un seul ordinateur peut être spécifié. Une astuce permet de contourner cette limitation, en indiquant les noms de tous les ordinateurs visés dans un fichier texte, baptisé Computers.txt, par exemple. Le cmdlet Get-Content permet alors d’industrialiser le processus ainsi : Get-Content C:\Temp\Computers.txt | Invoke-GPUpdate.
Force provoque la réapplication de tous les réglages de GPO. Par défaut, les réglages de GPO ne sont rafraîchis qu’en cas de changement.
LogOff provoque la fermeture de session après la mise à jour des réglages de GPO. Cette option s’avère utile lorsque les réglages de GPO requièrent la fermeture/réouverture de session pour leur application.
Sync force l’application synchrone de la mise à jour des réglages de GPO.
Target permet d’indiquer que seuls les réglages utilisateur ou ordinateur sont concernés.
Le cmdlet Invoke-GPUpdate s’appuie sur les mêmes mécanismes que la console GPMC. Son utilisation nécessite donc la même configuration du pare-feu sur les postes clients.
A noter que Invoke-GPUpdate et la console GPMC ne supportent pas la gestion des réglages de GPO sous Windows XP. Pour les postes ainsi équipés, il faut recourir à PSExec.exe ou à WMI.
Par Nirmal Sharma, MCSEx3, MCIPT, et distingué Microsoft MVP dans les services d’annuaire. Adapté de l’anglais par la rédaction.