GPO
Déploiement de l'agent Medulla via GPO
Quelle est la meilleure méthode pour déployer l'agent Medulla sur tous les postes d'un domaine Active Directory ?
La méthode recommandée est d'utiliser une tâche planifiée via Group Policy Preferences (GPP) avec l'option "Apply once and do not reapply".
Cette méthode est :
- Compatible avec n'importe quel fichier EXE (pas besoin de MSI)
- Exécutée une seule fois par poste
- Lancée avec les droits SYSTEM (administrateur)
- Officiellement supportée par Microsoft
- Fiable et évite les réinstallations répétées
Comment mettre en place cette méthode ?
Étape 1 : Préparer le fichier d'installation
1. Copiez l'installeur dans un partage réseau accessible : (Assurez-vous que le chemin est accessible par "Tout le monde" ou "Ordinateurs du domaine" en lecture).
\\SERVEUR\DEPLOIEMENT\Medulla-Agent-windows-FULL-latest.exe
Créer un script powershell comme ceci :
$CheminSetup = "\\SERVEUR\DEPLOIEMENT\Medulla-Agent-windows-FULL-latest.exe"
$Arguments = "/S"$NomDuService = "medullaagent"
$ServiceStatus = Get-Service -Name $NomDuService -ErrorAction SilentlyContinue
if ($ServiceStatus) {
Write-Output "Le service $NomDuService existe déjà. Installation annulée."
Exit 0
}try {
Start-Process -FilePath $CheminSetup -ArgumentList $Arguments -Wait -NoNewWindow -ErrorAction Stop
}
catch {
Write-Error "Erreur d'installation : $_"
Exit 1
}
2. Configurez les droits sur le partage :
- Lecture pour le groupe Domain Computers
Étape 2 : Créer la GPO
1. Ouvrez la console Group Policy Management
2. Créez une nouvelle GPO, par exemple : `Déploiement Agent Medulla`
Étape 3 : Configurer la tâche planifiée
1. Éditez la GPO et naviguez vers :
Configuration de l'ordinateur
→ Préférences
→ Panneau de configuration
→ Tâches planifiées
2. Faites un clic droit → Nouveau → Tâche immédiate (au moins Windows 7)
3. Dans l'onglet Général :
- Nom : `Installation Agent Medulla`
- Compte : SYSTEM
- Exécuter avec les privilèges les plus élevés
4. Dans l'onglet Actions :
-
Action : Démarrer un programme.
-
Programme/script :
chemin_install_powerhselle/powershell.exe -
Ajouter des arguments :
-ExecutionPolicy Bypass -File "\\Serveur\Partage\VotreScript.ps1"(Assurez-vous que le chemin est accessible par "Tout le monde" ou "Ordinateurs du domaine" en lecture).
5. Dans l'onglet Common (Options communes) :
- Apply once and do not reapply
⚠️ Cette option est cruciale : elle garantit que l'installation ne se lancera qu'une seule fois sur chaque poste.
Étape 4 : Appliquer la GPO
1. Liez la GPO à l'Unité d'Organisation (OU) contenant vos postes
2. Sur un poste de test, lancez :
gpupdate /force
3. Redémarrez le poste ou attendez la prochaine mise à jour des stratégies
Pourquoi ne pas utiliser un script de démarrage ou de connexion ?
Les scripts traditionnels (Startup Script ou Logon Script) présentent plusieurs inconvénients :
- Risque d'exécution multiple
- Complexité pour détecter si l'installation a déjà été faite
- Problèmes de droits selon le contexte d'exécution
- Moins fiable que les tâches planifiées GPP
La méthode par tâche planifiée GPP résout tous ces problèmes.
Que fait l'option "Apply once and do not reapply" ?
Cette option garantit que :
- La tâche s'exécute une seule fois sur chaque poste
- Même si la GPO reste active pendant des années, l'installation ne se relance pas
- Pas besoin de script de détection complexe
- Pas de réinstallation accidentelle
C'est l'équivalent d'un déploiement "fire and forget" (lancer et oublier).
Avec l'option "Apply once and do not reapply", il est impératif de vérifier que l'agent s'est correctement installé. Si l'installation a échoué pendant le processus, elle ne se réexécutera plus.
Pour palier à cela, il faut désactiver "Apply once and do not reapply", mais garder la partie IF dans le script powershell qui vérifie si le service medullaagent est présent (par défaut, déjà présent dans le script ci-dessus) :
if ($ServiceStatus) {
Write-Output "Le service $NomDuService existe déjà. Installation annulée."
Exit 0
}
Comment vérifier que le déploiement a fonctionné ?
Sur un poste client :
1. Vérifiez que la tâche planifiée a été créée :
Panneau de configuration → Outils d'administration → Planificateur de tâches
Cherchez la tâche `Installation Agent Medulla`
2. Vérifiez les logs d'installation de l'agent Medulla
3. Vérifiez que le poste apparaît dans la console Medulla
Sur le contrôleur de domaine :
Utilisez les rapports GPO pour voir quels postes ont appliqué la stratégie.
Puis-je utiliser cette méthode pour mettre à jour l'agent ?
Oui, mais avec quelques précisions :
- Si vous créez une nouvelle GPO avec un nouveau nom de tâche, elle s'exécutera une fois sur tous les postes
- Si vous modifiez le chemin du fichier EXE dans la tâche existante avec "Apply once", elle ne se relancera pas (c'est l'objectif de cette option)
Pour les mises à jour, il est préférable de :
1. Créer une nouvelle GPO avec un nouveau nom de tâche pour chaque version majeure
2. Ou utiliser le système de mise à jour intégré de Medulla
Quels sont les prérequis ?
- Un contrôleur de domaine Active Directory (Windows Server 2008 R2 ou supérieur)
- Un partage réseau accessible en lecture par les postes
- L'installeur de l'agent Medulla avec option d'installation silencieuse (`/S`)
- Les droits pour créer et lier des GPO
Combien de temps faut-il pour que tous les postes soient déployés ?
Le déploiement se fait au rythme de la mise à jour des stratégies de groupe :
- Par défaut : toutes les 90 minutes (avec un décalage aléatoire de 0 à 30 minutes)
- Au redémarrage du poste
- Avec `gpupdate /force` (immédiat)
Pour un déploiement rapide sur un parc de 100 postes, comptez environ 2 à 4 heures selon l'activité réseau.
Cette méthode fonctionne-t-elle avec d'autres logiciels ?
Oui ! Cette méthode est universelle pour déployer n'importe quel EXE silencieux :
- Agents de supervision
- Logiciels métier
- Outils de sécurité
- Tout programme supportant l'installation en ligne de commande
Il suffit d'adapter :
- Le chemin de l'EXE
- Les arguments d'installation silencieuse (consultez la documentation du logiciel)
Exécuter l'installation après l'ouverture d'une session
L'exécution classique d'une GPO se fait avent l'ouverture de session en droit SYSTEM.
Cela peut être gênant pour l'utilisateur, qui peut croire à un blocage de son ordinateur.
Solution 1 : La Tâche Planifiée "Au démarrage de la session"
L'utilisateur arrive sur son bureau, et l'installation se lance silencieusement en arrière-plan avec les droits SYSTEM.
-
Dans votre GPO Ordinateur (pas utilisateur), allez dans : Préférences > Paramètres du Panneau de configuration > Tâches planifiées.
-
Nouveau > Tâche planifiée (au moins Windows 7).
-
Onglet Général :
-
Compte d'utilisateur :
NT AUTHORITY\SYSTEM(ou tapez justeSYSTEM). -
Cochez Exécuter avec les autorisations maximales.
-
-
Onglet Déclencheurs (Triggers) :
-
Nouveau > Au démarrage de la session (At log on).
-
Vous pouvez choisir "N'importe quel utilisateur".
-
-
Onglet Actions :
-
Programme :
chemin_install_powerhselle/powershell.exe/powershell.exe -
Arguments :
-ExecutionPolicy Bypass -File "\\Serveur\Partage\SCRIPT_POWERSHELL.ps1"
-
SCRIPT_POWERSHELL.PS1, correspond au script en début de page qui permet d'installer l'agent silencieusement.
Solution 2 : L'option "Asynchrone"
Si vous voulez garder votre script actuel (dans "Scripts de démarrage") mais juste arrêter de bloquer l'écran "Veuillez patienter..." :
-
Allez dans la GPO : Configuration ordinateur > Modèles d'administration > Système > Scripts.
-
Cherchez le paramètre : Exécuter les scripts de démarrage de façon asynchrone.
-
Mettez le sur Activé.
Précision : Si vous créez une tâche avec un déclencheur "Au login" et que vous cochez "Apply once and do not reapply", la GPO va créer la tâche une fois, mais la tâche, elle, restera sur le PC et continuera de se lancer à chaque login. Assurez vous donc de garder la condition IF dans le script qui permet de vérifier la présence du service medullaagent (par défaut, déjà présent dans le script ci-dessus) :
if ($ServiceStatus) {
Write-Output "Le service $NomDuService existe déjà. Installation annulée."
Exit 0
}
Ressources complémentaires
- [Documentation officielle Microsoft sur les Group Policy Preferences](https://docs.microsoft.com/fr-fr/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn581922(v=ws.11))
- [Documentation de déploiement Medulla](https://medulla-project.org/)
---
Date de création : Décembre 2024
Auteur : Documentation Medulla
Version : 1.0