Chapitre 421 minIntermédiaire
Inventaire automatique avec GLPI Agent
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- activer et régler l'inventaire natif de GLPI ;
- installer et déployer GLPI Agent sur un parc ;
- expliquer comment les règles créent ou mettent à jour une fiche ;
- sécuriser les échanges entre les agents et le serveur ;
- dépanner un poste qui ne remonte pas.
5 exercices corrigés1 schéma
L'inventaire automatique, c'est un petit programme installé sur chaque poste, GLPI Agent, qui relève la configuration de la machine (matériel, système, logiciels, réseau) et l'envoie au serveur GLPI, qui crée ou met à jour la fiche tout seul. Depuis GLPI 10, cet inventaire est natif : plus besoin de FusionInventory ni d'OCS Inventory. Ce chapitre explique comment l'activer, installer et déployer l'agent, comment GLPI décide de créer ou de mettre à jour une fiche, comment sécuriser les échanges et que faire quand un poste ne remonte pas.
Inventaire manuel ou automatique
Saisir 180 postes à la main prendrait des jours, et l'inventaire serait faux dès la première barrette de mémoire changée. On combine donc plusieurs sources :
| Méthode | Pour quoi | Limites |
|---|---|---|
| GLPI Agent sur chaque machine | Ordinateurs et serveurs Windows, Linux, macOS ; téléphones Android avec l'application | Il faut déployer et maintenir l'agent |
| Découverte et inventaire réseau (SNMP), avec le plugin GLPI Inventory | Commutateurs, routeurs, bornes Wi-Fi, imprimantes réseau | Demande des identifiants SNMP et un agent qui lance les tâches |
| Import de fichiers d'inventaire (JSON, XML, OCS) | Machine isolée du réseau, reprise d'un ancien outil | Ponctuel |
| Saisie manuelle, avec des gabarits | Écrans sans agent, mobilier réseau passif, matériel en stock pas encore installé | Lente, à réserver à ce que rien d'autre ne voit |
L'agent ne connaît pas tout : il ne sait ni qui a payé la machine, ni sous quel contrat elle est, ni quand sa garantie expire. La règle est simple : l'agent remplit le technique, l'humain remplit l'administratif.
FusionInventory, OCS et l'inventaire natif : ce qui a changé
Jusqu'à GLPI 9, GLPI ne savait pas inventorier tout seul. On lui adjoignait soit OCS Inventory NG (un serveur d'inventaire séparé, synchronisé avec GLPI par un plugin), soit le plugin FusionInventory et son agent. En 2021, l'équipe de GLPI a repris le code de l'agent FusionInventory pour créer GLPI Agent, et GLPI 10 (2022) a intégré l'inventaire directement dans son cœur.
Aujourd'hui :
- l'inventaire des ordinateurs est natif : on active l'inventaire dans GLPI et on installe GLPI Agent, sans aucun plugin ;
- les tâches avancées (découverte réseau, inventaire SNMP, inventaire d'hôtes VMware, déploiement de logiciels, collecte d'informations ciblées) passent par le plugin GLPI Inventory, disponible dans le marketplace, qui pilote ces tâches et les fait exécuter par un agent ;
- FusionInventory n'est plus compatible avec les versions récentes de GLPI : une instance qui l'utilise encore doit migrer vers l'inventaire natif ;
- OCS Inventory reste un produit à part entière, mais GLPI n'en a plus besoin.
Activer l'inventaire dans GLPI
L'inventaire est désactivé à l'installation. Dans Administration > Inventaire, coche Activer l'inventaire, puis règle les options :
| Option | Réglage chez Cèdre Habitat | Pourquoi |
|---|---|---|
| Options d'importation | Volumes, logiciels, moniteurs, imprimantes, périphériques, antivirus ; pas les processus | Les processus en cours alourdissent la base sans servir au support |
| Statut par défaut | « En service » | Une machine qui envoie un inventaire est allumée et utilisée |
| Fréquence de l'inventaire (en heures) | 24 | Un inventaire par jour suffit pour un parc de bureau |
| Entité par défaut | Cèdre Habitat | Les règles affecteront ensuite les postes de l'association |
| Machines virtuelles | Importer les VM d'un hyperviseur, sans créer de fiche par VM si elles ont leur propre agent | Évite les doublons |
| Composants | Processeurs, disques, mémoires, cartes réseau et graphiques | Utile au diagnostic et au renouvellement |
| Nettoyage de l'agent | Après 60 jours sans contact : passer le statut à « À vérifier » | Repère les machines perdues, volées ou rebutées sans fiche à jour |
| Authentification des agents | Client OAuth (identifiants client) | Seuls les agents autorisés peuvent envoyer un inventaire |
Le dernier point est souvent oublié : sans authentification, n'importe quelle machine du réseau peut envoyer de faux inventaires et polluer ta base. GLPI propose deux méthodes, un client OAuth créé dans Configuration > Clients OAuth, ou une authentification Basic par identifiant et mot de passe.
Installer GLPI Agent sur un poste Windows
L'agent se télécharge sur la page des versions du projet glpi-project/glpi-agent sur GitHub (version 1.21 en octobre 2026), en paquet MSI 64 bits pour Windows. L'installation graphique pose les bonnes questions :
- Type d'installation : complète, pour pouvoir régler le certificat et le mode d'exécution.
- Cible : l'adresse du serveur GLPI, celle qui figure dans Configuration > Générale, champ URL de l'application :
https://glpi.cedre.lan/. - Mode d'exécution : en service (l'agent tourne en permanence et contacte le serveur selon la fréquence fixée par GLPI), en tâche planifiée (lancé toutes les heures ou tous les jours), ou manuel (seulement sur demande). Pour un parc de bureau, le service est le choix habituel.
- Options : un tag (une étiquette qui servira aux règles d'affectation), le certificat de l'autorité interne pour vérifier le serveur, le proxy éventuel.
- Lancer un inventaire à la fin de l'installation : coche-le pour vérifier tout de suite.
Quelques minutes plus tard, le poste apparaît dans Parc > Ordinateurs. Sa fiche indique l'agent qui l'a remonté, sa version et la date du dernier contact.
En pratique, on n'installe jamais l'agent poste par poste : on lance le MSI en mode silencieux avec ses options. Les principales :
Option de msiexec | Exemple | Effet |
|---|---|---|
SERVER | SERVER=https://glpi.cedre.lan/ | Le serveur qui reçoit l'inventaire |
TAG | TAG=SOLIDARITE | Étiquette envoyée avec l'inventaire, pour les règles |
RUNNOW=1 | Lance un inventaire juste après l'installation | |
EXECMODE | EXECMODE=1 | 1 : service (par défaut), 2 : tâche planifiée, 3 : manuel |
ADD_FIREWALL_EXCEPTION=1 | Ajoute l'agent aux exceptions du pare-feu Windows | |
ADDLOCAL | ADDLOCAL=feat_AGENT | Les modules à installer ; feat_AGENT comprend l'inventaire, les autres (feat_NETINV, feat_DEPLOY, feat_COLLECT, feat_ESX) servent aux tâches du plugin GLPI Inventory |
CA_CERT_FILE ou SSL_FINGERPRINT | CA_CERT_FILE=C:\pki\ca-cedre.pem | Fait confiance au certificat d'une autorité interne |
msiexec /i GLPI-Agent-1.21-x64.msi /quiet SERVER=https://glpi.cedre.lan/ TAG=SIEGE RUNNOW=1 ADD_FIREWALL_EXCEPTION=1 CA_CERT_FILE=C:\pki\ca-cedre.pem
Installer l'agent sous Linux et macOS
Sous Linux, le projet fournit un script d'installation en Perl, qui détecte la distribution et utilise son gestionnaire de paquets. Ses options se consultent avec --help :
sudo perl glpi-agent-1.21-linux-installer.pl --server="https://glpi.cedre.lan/" --runnow
Sans autre option, il installe l'agent en service, avec l'inventaire des ordinateurs, et n'accepte les requêtes sur son port 62354 que depuis le serveur GLPI. Un paquet Snap existe aussi pour les distributions qui le gèrent. Sous macOS, un paquet d'installation s'installe comme n'importe quelle application.
| Système | Fichier de configuration | Forcer un inventaire |
|---|---|---|
| Linux | /etc/glpi-agent/agent.cfg | sudo glpi-agent --force |
| macOS | /Applications/GLPI-Agent/etc/agent.cfg | sudo /Applications/GLPI-Agent.app/bin/glpi-agent --force |
| Windows | Registre : HKEY_LOCAL_MACHINE\SOFTWARE\GLPI-Agent | glpi-agent --force dans C:\Program Files\GLPI-Agent, ou la page http://localhost:62354 quand l'agent tourne en service |
L'outil Glpi-Agent Monitor, à installer en plus sur Windows, affiche une icône dans la barre des tâches : l'utilisateur ou le technicien peut forcer un inventaire et lire le journal de l'agent sans ligne de commande.
Déployer l'agent sur tout le parc
Pour 180 postes Windows dans un domaine Active Directory, la méthode classique est une stratégie de groupe (GPO) appliquée aux ordinateurs :
- Déposer le MSI dans un partage réseau accessible en lecture par les comptes d'ordinateurs.
- Créer une GPO liée à l'unité d'organisation des postes, avec un script de démarrage qui lance
msiexecavec les options ci-dessus. La documentation de GLPI fournit un script prêt à l'emploi (glpi-agent-deployment.vbs) dont on adapte trois lignes : la version, le chemin du partage, les options. - Tester sur une unité d'organisation pilote (les postes de la DSI), vérifier les fiches dans GLPI, puis étendre au reste du parc.
D'autres canaux existent selon l'organisation : un outil de gestion des terminaux comme Microsoft Intune, un script PowerShell lancé à distance, ou le déploiement par le plugin GLPI Inventory une fois un premier agent en place. Le fonctionnement des GPO est expliqué dans le cours Windows Server, et l'installation silencieuse de logiciels sur tout un parc dans le cours Déploiement de postes, au chapitre Déployer des logiciels, des pilotes et des mises à jour.
Ce que l'agent remonte, et ce qu'il ne remonte pas
| L'agent remonte | Tu saisis (ou une règle le fait) |
|---|---|
| Nom de la machine, fabricant, modèle, numéro de série, UUID | Statut (en stock, en service, en réparation, réformé) |
| Processeur, mémoire, disques et volumes, cartes réseau et graphiques | Lieu précis (bureau), sauf si une règle le déduit du tag ou du réseau |
| Système d'exploitation, version, édition, architecture | Utilisateur affecté, groupe, technicien responsable |
| Logiciels installés et leurs versions | Numéro d'inventaire de l'organisation (ou un gabarit le génère) |
| Adresses MAC et IP, nom de domaine | Informations financières : commande, facture, valeur, budget |
| BIOS ou UEFI, antivirus et son état | Garantie, contrats, fournisseur |
| Écrans, imprimantes et périphériques connectés | Documents : bon de livraison, facture, procès-verbal de remise |
| Machines virtuelles hébergées | Licences acquises et leur rattachement |
| Outils de prise en main à distance installés (TeamViewer, AnyDesk, RustDesk…), dans l'onglet Contrôle à distance | Commentaires, notes |
| Dernier utilisateur connecté |
L'agent remonte le dernier utilisateur connecté à la session Windows ou Linux ; GLPI le relie au compte correspondant quand il le connaît. Mais l'affectation officielle d'un poste (à qui il a été remis, avec quel bon de remise) reste une information de gestion : vérifie-la à chaque mouvement.
Les règles d'inventaire : entité, lieu, import et liaison
Quand un inventaire arrive, GLPI doit décider : dans quelle entité le ranger ? Est-ce une machine déjà connue, à mettre à jour, ou une nouvelle, à créer ? Il applique pour cela des règles, que tu trouves dans Administration > Règles, toujours dans le même ordre.
- La liste noire écarte d'abord les valeurs absurdes, comme un numéro de série « To be filled by O.E.M. » que certains fabricants laissent vide.
- Les règles d'affectation d'un élément à une entité choisissent l'entité selon un critère : le tag de l'agent, une plage d'adresses IP, le domaine. Chez Cèdre Habitat : « si le tag est
SOLIDARITE, entité Cèdre Solidarité ». Elles peuvent aussi refuser l'import. Si aucune ne correspond, GLPI prend l'entité par défaut réglée dans Administration > Inventaire. - Les règles d'affectation d'un lieu déduisent de la même façon le lieu d'un tag ou d'un sous-réseau : le réseau
10.20.0.0/24correspond au site de Vénissieux. - Les règles d'import et de liaison des actifs cherchent enfin une fiche existante, dans l'entité déjà calculée. Elles sont livrées toutes faites et couvrent la plupart des cas : d'abord le même numéro de série et le même UUID, puis d'autres combinaisons (adresse MAC, nom). Si une fiche correspond, elle est mise à jour ; sinon, une fiche est créée. Une règle peut aussi refuser l'import, par exemple pour ignorer les machines d'un réseau d'invités.
Ces règles d'entité placent une fiche à sa création. Une fiche existante ne change d'entité que si l'entité a un modèle des inventaires pour le transfert automatique d'entités ; sinon, GLPI garde l'ancienne entité, même si une règle en désigne une autre, et c'est à toi de transférer la fiche (action massive Transférer).
À part, les dictionnaires (Administration > Dictionnaires) normalisent les noms : trois écritures du même éditeur deviennent une seule, les versions mineures d'un logiciel se regroupent (chapitre 7).
Les verrous : quand l'agent et l'humain se disputent un champ
Que se passe-t-il si tu modifies à la main un champ que l'agent remplit, le nom de la machine par exemple ? GLPI pose un verrou sur ce champ : les inventaires suivants ne le modifieront plus. L'onglet Verrous de la fiche liste les champs verrouillés et permet de les déverrouiller pour rendre la main à l'agent.
C'est utile (garder un nom choisi par la DSI), mais c'est aussi un piège : un champ verrouillé ne se met plus à jour, même quand la réalité change. Si la mémoire d'un poste n'évolue plus dans GLPI après un ajout de barrette, regarde l'onglet Verrous.
Fréquence et inventaire partiel
En mode service, l'agent contacte le serveur, qui lui indique la fréquence d'inventaire réglée dans GLPI (24 heures chez Cèdre Habitat). Depuis la version 1.8, l'agent envoie par défaut des inventaires partiels après un premier inventaire complet : seules les parties qui ont changé sont transmises, ce qui allège le réseau et le serveur. Un inventaire complet repart après un nombre d'inventaires partiels fixé par l'option full-inventory-postpone (14 par défaut).
Ce comportement a une conséquence : si tes règles d'affectation reposent sur l'adresse IP, et que la partie réseau n'a pas changé, elle peut manquer dans un inventaire partiel. La documentation recommande dans ce cas d'exiger la partie réseau à chaque fois (required-category=network) ou de revenir à des inventaires complets (full-inventory-postpone=0), au prix d'une charge plus forte.
Sécuriser les échanges entre les agents et le serveur
L'inventaire est une cartographie détaillée du parc : versions des systèmes, logiciels installés, adresses. C'est précieux pour toi, et pour un attaquant. Quatre mesures :
- HTTPS avec vérification du certificat : l'agent doit refuser de parler à un serveur qui n'est pas le vrai. Certificat d'une autorité publique, ou certificat interne fourni à l'agent (
CA_CERT_FILE,SSL_FINGERPRINT). - Authentification des agents (client OAuth ou Basic, dans Administration > Inventaire) : un poste inconnu ne peut pas injecter de fausses fiches.
- Port 62354 filtré : le serveur peut contacter l'agent sur ce port pour lui demander un inventaire immédiat. Seul le serveur GLPI doit pouvoir le joindre ; c'est le comportement par défaut de l'installation Linux, et une règle de pare-feu à poser sur Windows.
- Droits de lecture limités : la liste des logiciels et de leurs versions ne regarde que la DSI (profils, chapitre 3).
Inventorier le réseau et les imprimantes en SNMP
Les commutateurs, routeurs, bornes et imprimantes réseau n'accueillent pas d'agent. On les interroge par SNMP, avec le plugin GLPI Inventory :
- Découverte réseau : un agent désigné balaie une plage d'adresses et repère les équipements qui répondent ; ceux qu'il ne sait pas identifier apparaissent comme actifs non gérés (Parc > Actifs non gérés), à convertir en fiches ou à ignorer.
- Inventaire réseau : pour les équipements identifiés, l'agent lit en SNMP le modèle, le firmware, les ports et les adresses MAC vues sur chaque port. GLPI peut alors relier un poste à la prise du commutateur où il est branché.
Ces tâches se programment dans le plugin et s'exécutent par un agent qui a les modules réseau (feat_NETINV). Préfère SNMPv3, qui authentifie et chiffre, à SNMPv2c, dont la communauté circule en clair ; le protocole est détaillé dans le cours Supervision.
Saisir à la main et importer des fichiers
Pour ce que l'agent ne voit pas, la saisie manuelle reste nécessaire : un écran, un vidéoprojecteur, un téléphone fixe, un lot de portables en stock. Utilise les gabarits (chapitre 5) pour ne pas tout ressaisir et pour numéroter automatiquement.
Pour une machine qui ne peut pas joindre le serveur (un poste isolé dans un atelier), l'agent peut écrire son inventaire dans un fichier (option LOCAL) ; on l'importe ensuite dans Administration > Inventaire, rubrique d'import de fichiers, qui accepte aussi les formats XML et OCS et une archive de plusieurs fichiers. Pour importer un tableau de matériel venant d'une autre source (un fichier CSV du fournisseur), le plugin Data Injection associe chaque colonne du fichier à un champ de GLPI ; vérifie sur le marketplace qu'il est disponible pour ta version.
Dépanner un poste qui ne remonte pas
| Vérification | Comment |
|---|---|
| L'inventaire est-il activé côté serveur ? | Administration > Inventaire, case cochée |
| L'agent tourne-t-il ? | Service « GLPI Agent » démarré sous Windows, systemctl status glpi-agent sous Linux |
| L'adresse du serveur est-elle la bonne ? | Elle doit correspondre à l'URL de l'application, avec https:// |
| Le poste joint-il le serveur ? | Depuis le poste : Test-NetConnection glpi.cedre.lan -Port 443 |
| Le certificat est-il accepté ? | Le journal de l'agent signale certificate verify failed : fournir le certificat de l'autorité interne |
| L'agent est-il authentifié ? | Si l'authentification est activée côté serveur, l'agent doit avoir ses identifiants |
| Une règle refuse-t-elle l'import ? | Relire les règles d'affectation à une entité et les règles d'import et de liaison, puis la liste des imports refusés |
| La fiche existe-t-elle sous un autre nom ou dans une autre entité ? | Recherche par numéro de série, dans toutes les entités |
Pour voir ce qui se passe, lance un inventaire à la main en affichant le journal dans la console : glpi-agent --force --logger=stderr --debug (ajoute un second --debug pour plus de détails sur la connexion TLS). La méthode de diagnostic elle-même est celle du cours ITIL : délimiter, faire des hypothèses, tester du plus simple au plus complexe.
Exercices
Exercice 1 sur 5 Agent ou saisie ? Réussi À revoir
Pour chaque information de la fiche d'un portable, dis si elle vient de l'agent ou si elle doit être saisie (ou posée par une règle).
- Le numéro de série.
- La date de fin de garantie.
- La version de Windows 11.
- Le budget sur lequel le portable a été acheté.
- La présence d'AnyDesk sur le poste.
- Le statut « En réparation ».
- La quantité de mémoire vive.
- Le contrat de maintenance qui le couvre.
Voir la réponseMasquer la réponse de l'exercice 1
- Agent : 1, 3, 5 (onglet Contrôle à distance), 7.
- Saisie : 2, 4, 6, 8. La garantie peut parfois être importée par un plugin ou un outil du constructeur, mais pas par l'agent.
Le statut peut être posé automatiquement à la première remontée (« Statut par défaut » de l'inventaire), mais ses changements suivants (en réparation, réformé) sont des décisions humaines.
Tu avais trouvé ?
Exercice 2 sur 5 La ligne de commande Réussi À revoir
Écris la commande d'installation silencieuse de GLPI Agent pour les postes de l'association Cèdre Solidarité : serveur https://glpi.cedre.lan/, tag SOLIDARITE, inventaire immédiat, exception de pare-feu, agent en service, certificat de l'autorité interne dans C:\pki\ca-cedre.pem. Puis écris la règle qui place ces postes dans la bonne entité.
Voir la réponseMasquer la réponse de l'exercice 2
msiexec /i GLPI-Agent-1.21-x64.msi /quiet SERVER=https://glpi.cedre.lan/ TAG=SOLIDARITE RUNNOW=1 ADD_FIREWALL_EXCEPTION=1 EXECMODE=1 CA_CERT_FILE=C:\pki\ca-cedre.pem
EXECMODE=1 peut être omis, c'est la valeur par défaut. La règle, dans Administration > Règles > Règles d'affectation d'un élément à une entité : critère « Tag d'inventaire est SOLIDARITE », action « Entité : Cèdre Solidarité ». Elle doit se trouver avant toute règle plus générale qui enverrait les postes dans l'entité Cèdre Habitat.
Tu avais trouvé ?
Exercice 3 sur 5 Le poste fantôme Réussi À revoir
Lucas a installé l'agent sur le portable PC-VEN-018. L'installation s'est bien passée, mais rien n'apparaît dans GLPI après une heure. Les autres postes de Vénissieux remontent normalement. Propose, dans l'ordre, les vérifications à faire et la commande qui t'aide le plus.
Voir la réponseMasquer la réponse de l'exercice 3
Puisque les autres postes du site remontent, le serveur et l'activation de l'inventaire ne sont pas en cause : on délimite au poste.
- Le service GLPI Agent est-il démarré sur PC-VEN-018 ?
- Quelle adresse de serveur a été saisie à l'installation (faute de frappe,
httpau lieu dehttps) ? Elle se lit dans le registre (HKEY_LOCAL_MACHINE\SOFTWARE\GLPI-Agent). - Le poste joint-il le serveur :
Test-NetConnection glpi.cedre.lan -Port 443? - Le certificat interne a-t-il été fourni à l'agent ?
- La fiche existe-t-elle déjà sous un autre nom, ou a-t-elle été fusionnée avec un autre poste au même UUID ? Recherche par numéro de série.
La commande la plus utile : glpi-agent --force --logger=stderr --debug, lancée en administrateur dans C:\Program Files\GLPI-Agent, qui affiche l'erreur exacte (serveur injoignable, certificate verify failed, authentification refusée).
Tu avais trouvé ?
Exercice 4 sur 5 Le nom qui ne change plus Réussi À revoir
Sarah a renommé à la main la fiche « DESKTOP-7F3K2Q » en « PC-SIE-112 » dans GLPI. Un mois plus tard, Thomas renomme vraiment la machine dans Windows en « PC-SIE-121 », mais la fiche affiche toujours « PC-SIE-112 ». Explique pourquoi et dis comment corriger.
Voir la réponseMasquer la réponse de l'exercice 4
En modifiant à la main un champ remonté par l'inventaire, Sarah a posé un verrou sur le nom : les inventaires suivants ne le mettent plus à jour. Il faut ouvrir l'onglet Verrous de la fiche, déverrouiller le champ Nom, puis forcer un inventaire : la fiche prend le nom réel, « PC-SIE-121 ».
La bonne pratique est de renommer la machine dans Windows (ou au moment du déploiement) et de laisser l'agent mettre la fiche à jour, plutôt que de renommer la fiche.
Tu avais trouvé ?
Exercice 5 sur 5 Expliquer les risques Réussi À revoir
Le responsable sécurité demande à Sarah pourquoi elle veut activer l'authentification des agents et retirer l'option NO_SSL_CHECK=1 de la GPO. Rédige sa réponse en quelques phrases.
Voir la réponseMasquer la réponse de l'exercice 5
« Sans authentification des agents, n'importe quelle machine du réseau peut envoyer un inventaire à GLPI : quelqu'un pourrait créer de fausses fiches ou modifier celles qui existent, et nos décisions (licences, renouvellements, recherche des postes vulnérables) reposeraient sur des données fausses. L'option NO_SSL_CHECK=1, elle, fait que les agents envoient leur inventaire à n'importe quel serveur qui se présente sous le nom de GLPI, sans vérifier son certificat : une usurpation DNS suffirait à récupérer la liste complète de nos postes, de leurs systèmes et de leurs logiciels, c'est-à-dire une carte des cibles. En fournissant le certificat de notre autorité interne aux agents et en activant l'authentification OAuth, on protège les deux sens de l'échange, sans coût pour les utilisateurs. »
Tu avais trouvé ?