Community RDR-IT

GPO : planifier l'arrêt automatique des ordinateurs

Originally published at: https://rdr-it.com/gpo-planifier-arret-automatique-ordinateurs/

Dans ce tutoriel, je vais vous expliquer comment planifier l’arrêt automatiquement des ordinateurs à l’aide d’une stratégie de groupe. En réalité, il n’existe pas de fonctionnalité native dans Windows pour arrêt les ordinateurs, mais nous allons utiliser les stratégies de groupe pour déployer une tâche planifiée aux ordinateurs membres du domaine Active Directory qui va…

Bonsoir,
toujours un aussi intéressant post (comme d’hab’), 2 remarques :
La 1ère (une constante dans les posts sur les GPOs qui me fait bondir) : liaison de la GPO directement sur une OU : mauvaise pratique. On doit créer une nouvelle GPO dans la section Objets de stratégie de groupe, l’éditer (gpedit), la relire (dans gpmc), puis seulement la lier d’abord dans un périmètre restreint (qq machines dans le cas présent) puis après avoir vu qu’elle fonctionnait bien, la lier à son périmètre cible.

La seconde : Telle que déployée, la tâche planifiée arrive à la racine du planificateur de tâches, ou se trouve déjà 1/2 douzaines de tâches planifiées (sys. et app). Je sais faire un script de report qui aille me récupérer telle ou telle tâche planifiée par son nom (si je le connais), ou un ensemble de tâche planifiées qu’un admin à posé (mais dont le nom diffère selon les machines), … et me retourne le résultat de la last execution. Afin de ne pas récupérer une centaine de tâche planifiée, parmi lesquelles seules une 1/2 douzaine m’intéressent, je prends la précaution de le mettre dans un répertoire spécifique, nommé de la même manière, sur toutes les machines, et de ne requêter que le dit répertoire. Le pb, est le suivant : par GPO, comme indiqué, on ne peut choisir le répertoire de destination pour la tâche planifiée (ou alors je n’ai pas trouvé comment faire). Je suis donc obligé de procéder par script pour déployer mes tâches planifiées sur une machine ou un ensemble de machines.
C’est donc une limitation, non pas des GPOs, mais des templates d’administration, qui ne permettent pas l’objectif recherché que je viens de présenter. Ceci dit, l’exemple montré dans le tuto est un cas d’usage pratique.
On peut également atteindre le même objectif (shudown massif d’un ensemble de machines) par script.

  • Query AD pour obtenir une liste de machines (ou liste dans fichier type .csv par ex)

  • Boucle foreach qui va traiter le dite liste avec un Stop-Computer.

  • Planification du script sur un serveur d’admin par ex.

Tout ça tient en 3 lignes, c’est pas la mer à boire, ensuite je me fais 1 seule et unique tâche planifiée sur un serveur d’administration, là je positionne la tâche dans un sous-répertoire bien défini, … et du coup, je peux faire une pierre deux coups et exécuter mon autre script qui aille requêter cet ensemble de machines pour connaitre le résultat.

Le mot final
Oui, les GPOs sont un apport énorme aux environnements Windows pour faire des tonnes de choses différentes. Cependant, ce n’est pas toujours la solution la plus souple, ou la plus efficace pour certaines actions, à cause de certaines limitations des templates d’aministration.
Olivier

1 « J'aime »

Bonjour,
Commentaire toujours aussi intéressant et constructif. :wink:
J’ai écrit ce « tutoriel », car c’est une demande que j’ai « régulièrement ».
Maintenant, je n’ai jamais appliqué cette solution en production, mais sur un infra de test.

Concernant le script lancé depuis un serveur est effectivement une alternative, que j’ai écarté également lors du choix des solutions, car cela implique devoir activer WinRM sur l’ensemble des ordinateurs et devient compliquer à gérer avec des ordinateurs hors domaine, dans la même idée, il aussi possible de le faire Ansible.

Pour moi la meilleure solution pour mettre en place un arrêt automatique des ordinateurs, c’est de passer par une solution qui gère cela, comme FOG, qui donne la possibilité à l’utilisateur d’annuler l’arrêt.

Romain