Points clés
- La récupération des licences M365 permet de limiter leur prolifération et de réduire les coûts liés aux sièges E5 non utilisés, aux utilisateurs inactifs et aux comptes orphelins.
- Pour appliquer une politique cohérente, définissez des seuils d’« inactivité » clairs pour les licences (par ex. 30 à 60 jours sans connexion ni activité) et identifiez les exceptions (dirigeants, mises en suspens juridiques, comptes de service, etc.).
- Utilisez l’API Microsoft Graph et l’automatisation PowerShell pour repérer les licences inactives à partir des journaux de connexion et des données d’utilisation, puis supprimez ou rétrogradez les SKU en toute sécurité ; journalisez chaque action pour garantir la traçabilité et la conformité.
- Adoptez l’attribution de licences par groupe dans Microsoft Entra ID (anciennement Azure AD) pour éviter toute nouvelle prolifération : automatisez les attributions par rôle ou par service et synchronisez les appartenances avec vos workflows SIRH ou ITSM.
- Intégrez la gestion des licences aux processus de départ et de changement de rôle, afin que les droits soient automatiquement récupérés ou réattribués lorsqu’un collaborateur quitte l’entreprise ou change de poste.
La prolifération des licences peut progresser en silence, sans que vous vous en rendiez compte. Des sièges E5 en trop, des modules complémentaires non utilisés et des licences laissées sur des comptes désactivés font grimper les coûts et compliquent les audits. Pourtant, gérer les licences Microsoft 365 (ou M365, anciennement Office 365) n’est pas si compliqué.
Vous devez d’abord repérer le gaspillage à partir des données d’utilisation et de connexion. Ensuite, automatisez la suppression ou le passage à une offre inférieure via Graph et PowerShell, rattachez ce workflow au départ des collaborateurs et démontrez les économies réalisées grâce à un registre tenu à jour.
Comment récupérer automatiquement les licences M365 non utilisées
📌 Prérequis :
- Vous devez disposer du consentement administrateur pour l’API Graph et d’un principal de service limité aux opérations sur les licences
- Vous devez avoir accès aux rapports d’utilisation Microsoft 365 et à l’activité de connexion
- Vous devez déjà disposer d’un processus de départ documenté, avec des transmissions vers les RH ou l’ITSM
- Vous devez également mettre en place un accès basé sur les rôles (RBAC) qui sépare les étapes de création, de revue et d’approbation.
- Un dépôt partagé pour les scripts, les runbooks et le registre de nettoyage des licences est également nécessaire pour suivre ce guide.
Étape 1 : définir la politique et la notion d’« inactivité »
Avant de commencer, vous devez déterminer ce que signifie « inactif » dans votre entreprise. S’agit-il de 30 jours, de 60 jours, ou de tout autre seuil ? Cette définition fixe des attentes claires et vous donne des critères exploitables, afin que vos actions et vos réponses restent cohérentes.
Commencez par définir des seuils d’inactivité par rôle. Par exemple, les utilisateurs standard peuvent bénéficier de 30 jours avant d’être considérés comme inactifs, tandis que les prestataires externes n’en ont que 7. Identifiez ensuite les catégories protégées : mise en suspens juridique, dirigeants ou comptes de service.
Une fois les seuils d’inactivité définis, décidez de l’action à mener dans chaque cas de figure. Vous pouvez par exemple :
- supprimer la licence
- passer à un SKU inférieur
- déplacer l’utilisateur vers un groupe d’attente pour revue
Étape 2 : détecter les licences inactives et mal attribuées à partir des données
Maintenant que vous avez défini les seuils d’inactivité des licences Microsoft 365, il vous faut identifier celles qui répondent réellement à ces critères. N’oubliez pas : cette étape doit reposer sur des faits, pas sur une intuition.
Rendez-vous dans le centre d’administration Microsoft 365, passez en revue l’ensemble de vos licences Microsoft et recherchez les informations suivantes :
- l’activité de connexion et la dernière connexion interactive par utilisateur
- l’utilisation des charges de travail comme Exchange, SharePoint, OneDrive et Teams
- les utilisateurs désactivés, bloqués ou non attribués qui conservent une licence
Signalez les utilisateurs qui correspondent à vos critères d’inactivité. Une fois la liste entièrement passée en revue, générez un rapport CSV des candidats indiquant l’utilisateur, le SKU, la dernière activité, les exceptions et l’action proposée.
Étape 3 : automatiser la suppression et le passage à une offre inférieure en toute sécurité
Une fois les licences inactives identifiées, supprimez-les ou basculez-les vers une offre inférieure. Dans les grandes entreprises, cette opération doit être automatisée afin que les modifications soient exécutées de façon fiable et réversible.
Pour cela, vous devez :
- utiliser Microsoft Graph et PowerShell pour supprimer ou modifier les licences attribuées, avec des vérifications préalables et des exécutions à blanc.
- ordonner les opérations de façon à d’abord basculer vers une offre inférieure lorsque la conservation des données est nécessaire, puis supprimer complètement la licence lorsque c’est sans risque.
- journaliser chaque action avec l’horodatage, l’opérateur, l’utilisateur, les SKU avant et après, ainsi qu’un code de motif.
Lorsque vous supprimez ou rétrogradez des licences Microsoft 365, pensez à définir un processus d’approbation pour les comptes administrateurs et les traitements en masse. Ne laissez pas les techniciens agir à leur seule discrétion. Prévoyez également une courte période de grâce permettant d’annuler l’opération, lorsque c’est pertinent.
Étape 4 : passer à une attribution de licences par groupe
Pour éviter que la prolifération des licences ne réapparaisse, réorganisez vos workflows afin d’attribuer les licences par groupe.
Pour cela, vous devez :
- attribuer les licences à des groupes Azure AD (aujourd’hui Microsoft Entra ID) par rôle ou par service, plutôt qu’utilisateur par utilisateur.
- automatiser l’appartenance aux groupes depuis vos workflows SIRH ou ITSM, afin que les arrivées, départs et changements de rôle se répercutent sur les licences.
- supprimer les attributions directes et documenter le nouveau modèle. Publiez cette documentation sur une plateforme de documentation et rendez-la facilement accessible à toutes les parties concernées.
Étape 5 : intégrer la démarche aux départs et aux changements de rôle
Les départs et les changements de rôle entraînent généralement aussi des évolutions en matière de licences. Faites du nettoyage des licences lors de ces événements une composante de vos workflows habituels.
Commencez par ajouter une étape de retrait de licence à la check-list de départ, en tenant compte des délais liés aux besoins d’accès aux données. En cas de changement de rôle dans votre entreprise, déplacez les utilisateurs d’un groupe de licences à l’autre, afin que les droits suivent le poste et non la personne. Et pensez à consigner chaque départ finalisé dans un registre, pour disposer d’un historique clair de toutes vos licences.
Étape 6 : démontrer les économies et réussir les audits
Tenez un registre de nettoyage des licences recensant les sièges récupérés, les SKU rétrogradés, les approbations et les économies réalisées grâce à ces actions. Pour tenir vos clients informés, vous pouvez publier chaque mois un tableau de bord par client indiquant les sièges récupérés, l’évolution nette des dépenses et les exceptions restées ouvertes au-delà du SLA (contrat de niveau de service). Conservez également un runbook et un dossier de preuves pour les audits, comprenant la politique, les scripts et les journaux.
Ces pratiques garantissent la transparence, montrent à votre client la pertinence et l’impact de vos actions, et vous aident à rester en conformité avec les autorités de régulation.
Idées d’intégration NinjaOne pour gérer les licences logicielles non utilisées
- Détection et rapports : vous pouvez planifier des scripts pour exporter les données de connexion et d’utilisation, puis faire remonter les candidats à la suppression dans des tickets accompagnés de fichiers CSV.
- Automatisation à grande échelle : les utilisateurs de NinjaOne peuvent exécuter des tâches Graph ou PowerShell approuvées sur l’ensemble des tenants, renvoyer les résultats dans le ticket et les étiqueter par client et par type d’action.
- Gestion des exceptions : avec les outils NinjaOne, vous pouvez ouvrir automatiquement des tâches de revue pour les utilisateurs protégés et faire expirer les exceptions selon un calendrier défini.
- Tableaux de bord de ROI (retour sur investissement) : vous pouvez créer un rapport regroupant les licences récupérées, les SKU rétrogradés et les économies mensuelles estimées par tenant.
Guide de démarrage rapide
NinjaOne facilite la gestion des licences Microsoft 365 de plusieurs façons :
- Suivi de l’utilisation des licences : NinjaOne peut suivre les attributions de licences et les habitudes d’utilisation dans toute votre entreprise.
- Détection des utilisateurs inactifs : l’outil peut identifier les utilisateurs qui ne se sont pas connectés à leur compte Microsoft 365 depuis longtemps.
- Récupération des licences : grâce à l’automatisation et au reporting, NinjaOne aide les entreprises à identifier et à récupérer les licences non utilisées.
- Intégration avec Microsoft Graph : NinjaOne s’appuie sur l’API Microsoft Graph pour accéder aux informations de licence et aux données d’activité des utilisateurs.
Démontrez l’efficacité de votre MSP avec un rapport sur les licences Microsoft 365 (Office 365) non utilisées
La récupération des licences fonctionne, et elle contribue largement à améliorer l’efficacité et à réduire les coûts des MSP. Mais la détection et la récupération des licences Microsoft 365 doivent s’appuyer sur les données, être automatisées et s’intégrer aux processus quotidiens.
Définissez des règles d’inactivité, repérez le gaspillage à partir des données d’utilisation, automatisez les suppressions et rétrogradations sans risque, faites de l’attribution par groupe la norme et démontrez les économies grâce à un registre simple. Faites-le chaque mois, et la prolifération des licences ne vous prendra plus au dépourvu.
Liens connexes :
- Comment automatiser les notifications de changement de rôle Microsoft 365 pour le contrôle administrateur
- Gestion des licences dans NinjaOne
- Comment planifier des vérifications via l’API Graph pour les licences expirées et les utilisateurs inactifs
- Comment gérer les audits de licences logicielles (Adobe, Microsoft) de façon proactive
- Qu’est-ce que la gestion des licences logicielles (SLM) ?
