15/11/2024

Linux

GLPI 10 : comment déployer l’agent GLPI sur les machines Windows à l’aide d’une GPO ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à déployer l'agent GLPI sur des machines Windows afin qu'elles soient visibles dans l'inventaire de la solution GLPI en elle-même.

Disponible pour GLPI 10, l'agent GLPI officiel est basé sur le célèbre agent open source FusionInventory. Nous pouvons même considérer que l'agent GLPI a tué l'agent FusionInventory pour GLPI puisqu'il n'a plus de réel intérêt... Sauf pour ceux qui n'utilisent pas encore GLPI 10.

L'agent GLPI va permettre d'inventorier les ordinateurs, les smartphones et les tablettes de votre parc informatique afin d'avoir de la remontée d'informations (caractéristiques du matériel, logiciels installés, etc.).

Comme point de départ, nous allons utiliser un serveur GLPI 10 prêt à l'emploi et accessible en HTTPS. Autrement dit, cet article sur le déploiement de l'agent GLPI est une suite à ces deux premiers articles :

II. Les systèmes compatibles avec l'agent GLPI

L'agent GLPI n'est pas limité à Windows ! En effet, il est compatible avec plusieurs systèmes d'exploitation :

  • Windows (32 bits et 64 bits)
  • macOS X (avec une puce Intel ou Apple Silicon)
  • Linux (Debian, Ubuntu, Red Hat, CentOS, etc.)
  • Android

Toutes les versions et les différents packages d'installation sont disponibles sur le GitHub (sauf pour Android, il y a l'application "GLPI Agent" sur le Google Play Store).

Dans cet article, nous allons apprendre à déployer l'agent GLPI pour des machines Windows, à l'aide d'une GPO.

III. Activer l'inventaire dans GLPI 10

A l'époque où l'on utilisait FusionInventory pour l'inventaire de ses machines dans GLPI, il fallait commencer par installer un plugin FusionInventory dans GLPI. Ce plugin était en quelque sorte la partie "serveur" du service d'inventaire. Désormais, c'est inclus nativement dans GLPI donc il n'est plus nécessaire d'installer de plugin externe.

Toutefois, l'inventaire est désactivé par défaut donc nous devons l'activer dans les paramètres de GLPI. Commencez par vous connecter à l'interface d'administration de GLPI... Puis :

  • Cliquez sur "Administrateur" dans le menu latéral (1)
  • Cliquez sur "Inventaire" (2)
  • Cochez l'option "Activer l'inventaire" (3)
  • Enregistrez la modification en cliquant sur le bouton "Sauvegarder" en bas de page
GLPI 10 - Activer l'inventaire

Voilà, c'est tout.

Pour le moment, aucun agent n'est enregistré sur notre serveur GLPI. Nous pouvons le vérifier en cliquant sur l'icône qui ressemble à un robot en haut de l'interface. Nous pouvons lire la mention suivante : "Aucun élément trouvé".

GLPI 10 - Aucun agent

Nous allons remédier à cette situation en déployant l'agent GLPI sur plusieurs machines.

IV. Créer une GPO pour déployer l'agent GLPI (sans script)

Pour déployer l'agent GLPI par GPO, il y a plusieurs méthodes envisageables... Notamment celles-ci :

  • Utiliser le script VBS "glpi-agent-deployment.vbs" mis à disposition par GLPI et l'exécuter en tant que script de démarrage de Windows
  • Exécuter "msiexec.exe" avec les bons arguments pour cibler le package MSI de l'agent GLPI et spécifier l'URL de notre serveur GLPI, etc...
  • Modifier le package MSI de l'Agent GLPI avec ORCA pour inclure l'URL de notre serveur, etc... et l'installation via la fonction "Installation de logiciel"
  • Installer le package MSI de l'Agent GLPI via la fonction native "Installation de logiciel" des GPO et le configurer à l'aide de valeurs dans le Registre Windows

Nous allons partir sur la dernière méthode : elle me semble à la fois facile à mettre en œuvre et suffisamment flexible.

A. Télécharger et partager le package MSI de l'agent GLPI

La première étape consiste à télécharger l'agent GLPI au format MSI, à partir du GitHub officiel mentionné en début d'article.

Télécharger Agent GLPI

Une fois que c'est fait, nous allons devoir stocker ce package MSI sur un partage afin de le déployer par GPO.

Dans mon cas, l'agent GLPI sera stocké dans "P:\Applications" du serveur "SRV-ADDS-01.it-connect.local".

Ce répertoire est partagé en tant que "Applications$" et les permissions de partage sont définies comme suit :

  • Groupe "Ordinateurs du domaine" en lecture seule
  • Groupe "Admins du domaine" en contrôle total

Si vous avez besoin d'aide pour la création du partage SMB, consultez cet article :

Ainsi, ce partage sera accessible en lecture par les ordinateurs intégrés au domaine Active Directory. Suffisant pour venir lire le package MSI afin d'installer l'agent GLPI.

B. Installer l'agent GLPI par GPO (package MSI)

Passons à la création de la stratégie de groupe pour déployer l'agent GLPI. Ouvrez la console "Gestion de stratégie de groupe" et créez une nouvelle GPO.

En ce qui me concerne, la GPO s'appelle "Logiciel - Agent GLPI - Installer" et elle est liée à l'OU "PC" qui contient mes postes de travail Windows. Attention, si vous liez la GPO à la racine de votre domaine Active Directory, l'agent GLPI sera déployé sur toutes les machines (postes de travail et serveurs).

GPO pour agent GLPI 10

Une fois la GPO créée, vous allez devoir l'éditer via un clic droit sur son nom puis "Modifier".

Parcourez les paramètres de cette façon :

Configuration ordinateur > Stratégies > Paramètres du logiciel > Installation de logiciel

Ici, effectuez un clic droit puis : Nouveau > Package. Une fenêtre va s'ouvrir afin de vous permettre de sélectionner le package MSI à déployer. Vous devez préciser le chemin réseau (chemin UNC) vers le package MSI.

Pour ma part, cela donne le chemin suivant :

\\srv-adds-01.it-connect.local\Applications$\GLPI-Agent-1.5-x64.msi
Agent GLPI disponible sur partage avec chemin réseau

Validez.

A la question "Sélectionnez le type de déploiement", choisissez "Attribué" et poursuivez.

Voilà, l'agent GLPI est prêt à être déployé par GPO :

GPO - Package MSI - Agent GLPI

Le problème, c'est que l'agent GLPI sera déployé sans aucune configuration. De ce fait, il ne pourra pas se synchroniser sur notre serveur GLPI et les machines ne vont pas remonter dans l'inventaire....

C. Configurer l'agent GLPI avec le Registre Windows

Pour répondre à cette problématique, nous allons configurer l'agent GLPI par GPO en jouant directement sur les valeurs situées dans la clé de Registre suivante :

HKEY_LOCAL_MACHINE\SOFTWARE\GLPI-Agent

Effectivement, l'agent GLPI stocke sa configuration dans le Registre Windows, ce qui permet de la modifier facilement.

Ainsi, nous allons configurer deux valeurs :

  • server : pour indiquer l'URL du serveur GLPI (vers une page spécifique)
  • tag : pour indiquer un tag spécifique à associer à ces machines (le tag est utile pour la classification, surtout si vous avez plusieurs clients sur le même GLPI)

D'autres options sont configurables. Pour en savoir plus, consultez cette page :

Pour définir des valeurs de Registre par GPO, procédez de cette façon (toujours dans la même GPO, même si ce n'est pas obligatoire) :

Parcourez les paramètres de GPO de façon à atteindre cet emplacement :

Configuration ordinateur > Préférences > Paramètres Windows > Registre

Ici, effectuez un clic droit puis cliquez sur : Nouveau > Elément Registre.

GPO - Agent GLPI - Config via Registre Windows

Commencez par configurer la valeur "server".

  • Action : mettre à jour
  • Ruche : HKEY_LOCAL_MACHINE
  • Chemin d'accès de la clé : SOFTWARE\GLPI-Agent
  • Nom de valeur : server
  • Type de valeur : REG_SZ
  • Données de valeur : https://support.it-connect.tech/front/inventory.php

Veillez à ajuster l'URL vers votre serveur GLPI, tout en gardant "/front/inventory.php" dans l'URL. Ce qui donne :

Agent GLPI - GPO - Registre - Valeur server

Répétez l'opération pour la valeur "tag" en indiquant la valeur que vous voulez pour le tag :

Agent GLPI - GPO - Registre - Valeur tag

Ce qui donne ce résultat :

Agent GLPI - GPO - Registre - Valeurs

Voilà, la GPO est entièrement prête : l'agent GLPI sera installé et configuré !

Pour faire évoluer la configuration de vos agents GLPI par la suite, il vous suffira de modifier les valeurs de Registre ! Plutôt pratique. Sachez toutefois qu'il faut redémarrer l'agent GLPI (ou la machine, en fait) pour prendre en compte les modifications. Ici, il s'agit d'une fresh install de l'agent GLPI, donc ce sera pris en compte directement.

D. Tester la GPO

Pour tester le bon fonctionnement de cette GPO, nous devons utiliser une machine située dans l'OU "PC". En ce qui me concerne, ce sera la machine "PC-02".

Première étape : mettre à jour les GPO sur la machine grâce à la commande habituelle.

gpupdate /force

Après redémarrage de la machine, l'agent GLPI sera installé et il sera visible dans la liste des applications installées sur le poste :

Agent GLPI 10 sur Windows 11

Par contre, toujours rien dans l'interface de GLPI ! Pourquoi ?

En fait, l'agent GLPI ne lance pas d'inventaire dans la foulée de l'installation (sauf si l'on utilise un argument spécifique lors de l'installation via msiexec.exe par exemple). Vous avez deux options :

  • Patienter jusqu'au prochain inventaire (1 heure après l'installation)
  • Forcer un inventaire à la main

C'est ce que nous allons faire pour valider que tout fonctionne bien.

Sur la machine "PC-02", nous devons ouvrir un navigateur afin d'accéder à l'interface de l'agent GLPI à partir de l'URL suivante :

http://127.0.0.1:62354

Il s'agit d'une URL par défaut qui fonctionnera sur toutes les machines où l'agent GLPI est installé. Cette page indique pour quand est prévu le prochain inventaire et il y a un bouton pour forcer un inventaire. Cliquez sur "Force an inventory".

Agent GLPI 10 - Forcer un inventaire

Moins de 2 minutes plus tard, l'agent GLPI doit apparaître sur l'interface de GLPI :

De la même façon, notre parc doit avoir une machine dans son inventaire. Cliquez sur "Parc" puis sur "Ordinateurs". La machine "PC-02" apparaît bien :

GLPI 10 - Parc - Ordinateurs - Inventaire automatique

L'ensemble des machines ciblées par la GPO vont remonter dans GLPI et vous aurez accès à un ensemble d'informations sur chaque machine :

  • Type d'ordinateur, fabricant, modèle, numéro de série
  • Système d'exploitation (nom, version, architecture, date d'installation, etc.)
  • Configuration matérielle avec la liste des composants
  • Volumes (stockage)
  • Inventaire des logiciels avec la version, la date d'installation, l'état de la licence, etc.
  • Solution de sécurité détectée (antivirus)
  • Etc...

V. Conclusion

En suivant ce tutoriel, vous devriez être en mesure de déployer l'agent GLPI 10 sur les machines Windows de votre parc informatique géré par Active Directory !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

14 commentaires sur “GLPI 10 : comment déployer l’agent GLPI sur les machines Windows à l’aide d’une GPO ?

  • Bonjour,

    Vous faites compliqué pour pas grand chose !
    Il suffit de faire un script au démarrage de windows. En commande msiexec.exe et les paramètres suivants: /quiet /i « \\Dossier\GLPI-Agent.msi » RUNNOW=1 ADDLOCAL=feat_NETINV,feat_DEPLOY,feat_COLLECT,feat_WOL SERVER=http://serveurglpi/front/inventory.php

    ADDLOCAL doit être modifié en fonction des besoins d’inventaire (voir doc officielle).
    RUNNOW lance l’inventaire après installation.

    Répondre
    • Bonjour Frédéric,
      Je ne pense pas que ma solution soit compliquée… Au contraire, j’ai essayé de proposer une solution simple et compréhensible par un maximum de personnes, sans avoir besoin de jouer avec la ligne de commandes. En tout cas, merci pour votre astuce car je pense qu’elle sera utile à d’autres personnes. C’est bien d’avoir plusieurs options sous le coude…

      Répondre
  • Bonjour Florian,

    Merci pour ce partage et mise à jour en même temps.

    J’ai un peu rigoler lorsque vous dites ceci « A l’époque où l’on utilisait FusionInventory pour l’inventaire de ses machines dans GLPI ». Tout le monde n’a pas intégré l’amélioration continue. J’en connais qui utilisent GLPI 9.2 en 2023.

    Répondre
    • Est ce que vous penser qu’il faut migrer vers cette solution lorsque l’on a déjà déjà OCS Inventory ? Plus value / Moins value de chaque solution…

      Répondre
  • Salut,
    Afin de simplifier encore d’avantage, il existe un admx qui permet de parametrer les parametres de l’agent sans passer par des clés de registre 😉

    Répondre
  • Bonjour,

    pour la config post-installation, on peut aussi utiliser le fichier admx dispo dans le github de l’agent (dossier contrib/windows) à placer dans le dossier policydefinitions du domaine

    Répondre
  • BOnjour

    Apres avoir suivi ce super guide, j’ai une question. l’agent est déployé (base de registre modifié) mais cela ne remonte pas dans la console.
    l’inventaire est bien activé.

    En vous remerciant par avance,

    Répondre
  • Bonjour, est-ce que la gpo s’applique si mon ordinateur est intégré au domaine (visible dans l’AD) mais que j’utilise un compte local ?

    Cdt.

    Répondre
    • étant donner que la GPO est appliqué a la machine oui

      Répondre
  • Bonjour,

    J’ai suivi le tuto à la lettre, et ça ne fonctionne pas, les machines ne remontent pas. J’ai même utilisé la façon avec msiexec.exe et bien que l’agent s’installe sur la machine, il n’y a rien qui remonte, même en forçant l’inventaire. Et sur GLPI il ne m’indique toujours aucun agent et aucun PC ne remonte. Je n’arrive pas à comprendre…. J’ai fait une installation à la main également sur une machine test pour voir comme se passe l’installation et toujours rien… J’utilise pourtant le bon lien de serveur, est-ce qu’il y aurait des droits supplémentaires à rajouter sur le fichier inventory.php ? Car si je clique sur le lien mis sur SERVER, il m’affiche : Cette page ne fonctionne pas. Alors est-ce que c’est normal ou pas ?

    Est-ce que quelqu’un aurait une idée ? Je vous en remercie par avance.

    J’utilise GLPI 10.0.12 avec PHP 8.3 et la version 1.17.1 de GLPI Agent. GLPI est installé sur un serveur IIS sous Windows Server 2016 et MariaDB pour la base de données.

    Répondre
  • Bonjour,

    J’ai mis à jour entre temps GLPI en version 10.0.14 et j’ai pu voir qu’il fallait rajouter le plugin GLPI Inventory. Malgré cela mon problème persiste, aucune machine ne remonte. Est-ce qu’une personne aurez une idée…

    Je vous en remercie par avance.

    (En espérant que mon commentaire ne sera pas supprimé.)

    Répondre
  • Bonjour,

    Une idée de comment s’y prendre quand les postes clients ne sont pas admin (l’installe ne se lance donc pas) et qu’aussi il faut désinstaller fusioninventory déjà installé sur le PC client ?

    Merci d’avance…

    Répondre
  • Bonjour,

    Certains logiciels ne remontent pas automatiquement dans l’inventaire GLPI car ils sont très spécifiques (exemple un connecteur, un .ini, un .dll, etc). Comment je peux ajouter une détection de logiciels supplémentaires dans GLPI pour qu’il détecte un fichier et donc une installation qu’il remontera dans l’interface GLPI ?

    Merci par avance.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.