Comment programmer l'expiration d'un GPO ?

Je travaille beaucoup dans l’enseignement supérieur où il est assez courant de reconfigurer un certain nombre de membres du domaine Windows (par exemple, les PC d’une salle de classe) pour la durée d’un cours ou d’un événement spécifique et d’annuler cette configuration ensuite.

Comme la plupart des changements de configuration qui nous sont demandés peuvent être effectués via des objets de stratégie de groupe et que ces changements sont automatiquement annulés lorsque le GPO est délié ou désactivé au niveau de l’OU, c’est une voie très confortable à emprunter.

Le seul inconvénient est que la liaison et la désactivation répétées et manuelles des GPO sur les OU nécessitent beaucoup de rappels et du personnel informatique de service avant le début et après la fin des cours — quelque chose que l’équipe opérationnelle ne peut pas garantir en permanence.

Existe-t-il un moyen de spécifier une période de validité pour un GPO spécifique ?

Cela peut être fait au moyen du filtrage WMI. Le client de stratégie de groupe exécuterait la requête WQL d’un filtre WMI attaché et n’appliquerait le GPO que si la requête retourne un nombre non nul de lignes. Ainsi, en créant un filtre WMI vérifiant si l’heure système actuelle est dans un intervalle de temps donné et en liant ce filtre WMI au GPO que vous voulez programmer, vous obtenez exactement ce que vous vouliez.

La classe WMI win32_operatingsystem a un attribut localdatetime qui peut être comparé à une chaîne de date donnée au format ‘aaaammjj hh:nn:ss’, donc en utilisant la chaîne WQL comme :

select * from win32_operatingsystem where localdatetime >= '20150220 00:00:00' and localdatetime <= '20150223 15:00:00'

dans l’espace de noms root\CIMv2, vous vous assureriez que le GPO ne serait appliqué qu’aux systèmes dont l’heure locale est entre le 20 février 2015 00:00:00 et le 23 février 2015 15:00:00.

Assurez-vous d’avoir lié le filtre WMI au GPO souhaité.

Points à garder à l’esprit :

  • Le WQL évalue la date et l’heure locales sur le client, qui peuvent ou non être synchronisées avec la source de temps que vous prévoyez d’utiliser. L’heure du client ne s’écartera pas trop en avance ou en retard de l’heure du contrôleur de domaine, sinon l’authentification Kerberos échouera, mais il peut y avoir des écarts mineurs, tenez-en compte.

Le client de stratégie de groupe vérifiera les changements de GPO et les réappliquera assez rarement par défaut :

Par défaut, la stratégie de groupe des ordinateurs est mise à jour en arrière-plan toutes les 90 minutes, avec un décalage aléatoire de 0 à 30 minutes.

Les paramètres par défaut ne permettent donc qu’une précision de +2 heures. L’intervalle de mise à jour peut être modifié par un (autre) paramètre de stratégie de groupe, si nécessaire.

Votre stratégie doit pouvoir annuler tous les changements lorsqu’elle n’est plus appliquée. C’est le cas par défaut pour tous les modèles d’administration gérés. Les paramètres des préférences de stratégie de groupe peuvent nécessiter d’être explicitement configurés pour « supprimer cet élément lorsqu’il n’est plus appliqué ».