Comprendre la commande GPUpdate [En profondeur]

Le Gestionnaire de stratégie de groupe est un service Active Directory populaire que de nombreuses organisations utilisent aujourd’hui. Si votre organisation utilise la Stratégie de groupe, il y a de fortes chances que vous soyez familier avec la commande gpupdate; plus spécifiquement, la commande gpupdate /force.

Savez-vous ce que gpupdate fait ? Avez-vous déjà besoin d’utiliser le paramètre force ? Et si oui, quand est-ce pertinent ?

Dans cet article, vous allez apprendre ce que fait gpupdate, comment il fonctionne et comment vous pouvez tirer le meilleur parti de ses options.

Qu’est-ce que GPUpdate ?

GPUpdate est un utilitaire en ligne de commande de Microsoft qui est livré avec toutes les versions du système d’exploitation Windows. C’est un utilitaire qui contrôle l’application des objets de stratégie de groupe (GPO) sur les ordinateurs Active Directory attribués.

Typiquement, lorsqu’un administrateur attribue un GPO à un ordinateur ou à un utilisateur, cet ordinateur vérifie automatiquement auprès d’un contrôleur de domaine et applique les paramètres définis dans le GPO. Aucune intervention n’est nécessaire ; le processus est automatique.

Il arrive parfois en dehors de l’horaire automatique régulier qu’un administrateur ait besoin de forcer l’ordinateur à vérifier de nouveaux GPO ou ceux qui ont été modifiés. C’est là que gpupdate devient utile.

La commande gpupdate, en résumé, vérifie auprès d’un contrôleur de domaine s’il existe de nouvelles GPO assignées à un ordinateur ou si des GPO existantes ont été mises à jour, puis tente immédiatement de les appliquer.

Prérequis

Si vous souhaitez exécuter l’un des exemples fournis dans ce tutoriel, les prérequis de cet article sont simples.

  • A Windows computer joined to an Active Directory domain
  • Au moins une GPO assignée à l’ordinateur sur lequel vous travaillez

Fonctionnement de Gpupdate

Lorsque vous êtes devant un ordinateur joint à un domaine, ouvrez l’invite de commandes Windows ou PowerShell et exécutez gpupdate, une série de tâches commencera.

Gpupdate in action
  1. Gpupdate démarre le service Client de la Stratégie de groupe. Ce service est responsable de la découverte et de l’application des nouveaux paramètres de la Stratégie de groupe.

2. Le service Client de la Stratégie de groupe contacte ensuite le contrôleur de domaine de connexion de l’ordinateur et vérifie s’il existe de nouvelles GPO ou des mises à jour des GPO existantes.

3. Si le service Client de la Stratégie de groupe trouve de nouvelles GPO ou celles que vous avez modifiées localement avec gpedit.msc, le processus traite toutes les extensions côté client (CSE) en commençant par les paramètres de l’ordinateur, suivis des paramètres de l’utilisateur.

Le service Client de la Stratégie de groupe consigne des événements dans Applications et services Logs\Microsoft\Windows\GroupPolicy\Operational.

Gpupdate applies computer settings before the user settings.
Comment fonctionne la stratégie de groupe (en détail)

4. Une fois terminé, le service Client de la stratégie de groupe attend ensuite jusqu’au prochain intervalle de rafraîchissement, qui est, par défaut, de 90 minutes plus un décalage aléatoire allant jusqu’à 30 minutes.

Certaines paramètres de la stratégie de groupe nécessitent que l’utilisateur se déconnecte ou redémarre l’ordinateur pour prendre effet. Si l’un de ces paramètres faisait partie de la stratégie, gpupdate demandera de se déconnecter ou redémarrer l’ordinateur.

Le fameux commutateur /force expliqué

Vous connaissez maintenant les bases de ce qui se passe lorsque vous exécutez gpupdate. Jusqu’à présent, tout semble fonctionner, n’est-ce pas? Dans un scénario typique, l’exécution de gpupdate et le laisser suivre son processus fonctionne très bien. Mais il y a des occasions où vous devez forcer certaines choses.

Un des paramètres les plus largement utilisés de gpupdate est le commutateur /force. Ce commutateur est celui qui a été d’une manière ou d’une autre gravé dans l’esprit de chaque professionnel de l’informatique comme un commutateur nécessaire à utiliser. Contrairement à la croyance populaire, vous n’en avez pas réellement besoin sauf dans certaines circonstances.

Par défaut, gpupdate est intelligent; il compare tous les paramètres actuels avec les nouveaux paramètres et n’applique que les nouveaux paramètres. Mais, vous pouvez également forcer gupdate à réappliquer tous les paramètres en utilisant le commutateur /force. Pourquoi auriez-vous besoin de le faire?

Parfois, les paramètres dérivent de leurs valeurs attendues. Par exemple, si un utilisateur désactive une fonctionnalité Windows contrôlée par une stratégie existante, l’exécution de gpupdate /force forcera le service Client de la Stratégie de Groupe à réévaluer la valeur et à la ramener à la valeur attendue. Ou peut-être que vous souhaitez réintégrer un utilisateur dans un groupe restreint duquel il a été retiré.

Le service Client de la Stratégie de Groupe réapplique régulièrement certaines paramètres, tels que les paramètres de sécurité (l’intervalle par défaut est de 16 heures).

La principale raison de ne pas utiliser l’option /force est lorsqu’il s’agit de paramètres qui ne peuvent être appliqués qu’au moment de la connexion ou du démarrage. Dans ce cas, Windows vous demandera de vous déconnecter ou de redémarrer à chaque fois que vous exécutez gpupdate /force, même si de nouveaux paramètres ne nécessitent pas une telle action.

Exploration des paramètres de Gpupdate

Maintenant que vous avez une compréhension de base de son fonctionnement et que vous savez quand et comment utiliser l’option /force, concentrons-nous sur toutes les autres fonctionnalités fournies par gpupdate.

Obtention d’aide

Comme prévu, la commande gpupdate peut fournir des informations sur chaque paramètre et sur ce qu’ils font. Bien que limitée en profondeur, l’option /? est pratique si vous avez rapidement besoin de vous remémorer comment effectuer une tâche particulière.

Gpupdate /? displays all the switches and options available with the command.

Cibler les paramètres de l’ordinateur ou de l’utilisateur

Par défaut, gpupdate indique au service Client de la Stratégie de Groupe de traiter à la fois les paramètres de l’ordinateur et de l’utilisateur. Si vous avez seulement besoin de rafraîchir l’un de ces ensembles, vous pouvez utiliser le paramètre /target.

Vous avez deux options lors de l’utilisation du paramètre /target ; vous pouvez cibler les paramètres de l’ordinateur ou de l’utilisateur avec /target:computer ou /target:user.

Vous devriez utiliser le paramètre /target uniquement dans des circonstances spécifiques, en ciblant spécifiquement d’abord les paramètres de l’utilisateur, puis les paramètres de l’ordinateur. Pourquoi ? Parfois, une stratégie aura des paramètres utilisateur et ordinateur qui se chevauchent. Lorsque cela se produit, les paramètres utilisateur remplacent les paramètres de l’ordinateur, ce qui peut entraîner un comportement inattendu.

Création d’un délai

Gpupdate s’exécute généralement assez rapidement, mais des problèmes avec un contrôleur de domaine non réactif ou un service client de stratégie de groupe peuvent bloquer le processus. Si vous exécutez gpupdate dans un script qui nécessite d’autres tâches à effectuer après l’exécution de gpupdate, vous voudrez peut-être créer un délai.

Vous pouvez forcer gpupdate à rendre le contrôle à la fenêtre de commande après un certain laps de temps et à pousser le traitement de la stratégie en arrière-plan en utilisant le paramètre /wait. Les valeurs disponibles pour le paramètre /wait sont ci-dessous.

Wait Value Result
0 Immediately returns control to console
-1 Waits indefinitely for gpupdate to finish
1+ Waits the number of seconds provided
600 Default value

Forcer une déconnexion automatique

Certains paramètres nécessiteront à l’utilisateur de se déconnecter et de se reconnecter si le traitement en arrière-plan n’est pas possible. Par défaut, gpupdate vous demandera si tel est le cas une fois terminé. Si, cependant, vous souhaitez vous déconnecter immédiatement une fois que gpupdate est terminé, utilisez l’option /logoff.

L’option /logoff ne fonctionne pas toujours

Testé sur Windows 10 et Windows Server 2019, vous rencontrerez parfois un problème inconnu où le paramètre /logoff ne fonctionnera pas.

Par exemple, le client ci-dessous a une politique qui lui est assignée pour activer la redirection du bureau pour l’utilisateur connecté. Les paramètres de redirection de dossier ne peuvent être traités qu’à la connexion et non pendant l’actualisation en arrière-plan des politiques.

Sans utiliser l’option /logoff, un utilisateur régulier voit l’avertissement ci-dessous pour se déconnecter lorsqu’un nouveau paramètre le nécessite, comme prévu. Mais que vous utilisiez l’option /logoff ou non, vous serez toujours invité, et Windows ne se déconnectera pas.

Warning to log off after gpupdate

Pour vous assurer d’être déconnecté dans ce scénario, vous devez également utiliser l’option /force.

Forcer un redémarrage automatique

Similaire à l’option /logoff, l’option /boot redémarre automatiquement un ordinateur si Windows ne peut pas traiter les paramètres de l’ordinateur en arrière-plan. L’option /boot est couramment utilisée pour les installations de logiciels ciblées sur l’ordinateur.

Forcer le traitement synchrone

Le service Client de la stratégie de groupe applique les politiques en parallèle (asynchrones) ou une à la fois (synchrones). Windows traite les politiques de manière synchrone uniquement lors de la connexion de l’utilisateur et du démarrage de l’ordinateur, sinon de manière asynchrone.

Pendant le traitement synchrone, le Client de la stratégie de groupe invoque tous ses CSE même s’il n’y a eu aucun changement de paramètres. Le traitement synchrone est nécessaire car certains paramètres dépendent d’autres.

Vous pouvez combiner l’interrupteur /sync avec soit /target: user ou /target:computer. Vous ne pouvez utiliser l’interrupteur /sync que lorsque vous exécutez la fenêtre de commande en tant qu’administrateur. Sinon, vous verrez les messages d’erreur Access Denied ci-dessous.

Running gpupdate /sync as a normal user is not allowed.
Running gpupdate /sync as administrator prompts for a restart.

Connexe: Comment exécuter PowerShell en tant qu’administrateur

Le traitement asynchrone est une manière d’optimiser l’expérience de connexion des utilisateurs de domaine. Avant Windows XP, tout le traitement des stratégies était synchrone, avec comme seul inconvénient que certaines configurations nécessitaient deux connexions ou deux redémarrages avant d’être appliquées. Le mode par défaut depuis Windows XP est maintenant asynchrone.

Conclusion

Si vous avez suivi cet article, vous devriez maintenant avoir une idée claire de ce que fait gpupdate et comment vous pouvez utiliser ses interrupteurs pour changer son comportement. Si vous êtes intéressé par l’utilisation de gpupdate à plus grande échelle ou son automatisation, assurez-vous de vérifier son équivalent PowerShell, Invoke-GPUpdate.

Source:
https://adamtheautomator.com/gpupdate/