/
/

Comment détecter et récupérer les licences Microsoft 365 inactives

par Team Ninja
How to Detect and Reclaim Idle Microsoft 365 Licenses blog banner image

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 :

  1. Suivi de l’utilisation des licences : NinjaOne peut suivre les attributions de licences et les habitudes d’utilisation dans toute votre entreprise.
  2. Détection des utilisateurs inactifs : l’outil peut identifier les utilisateurs qui ne se sont pas connectés à leur compte Microsoft 365 depuis longtemps.
  3. 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.
  4. 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 :

FAQs

Commencez par un seuil d’inactivité de 30 jours pour la majorité des utilisateurs standard afin de signaler les licences Microsoft 365 inactives. Pour les prestataires externes ou le personnel temporaire, resserrez ce délai à 7-14 jours, et étendez-le à 60-90 jours pour les postes saisonniers ou de direction. Ajustez ces seuils après avoir analysé votre premier mois de rapports de connexion et d’utilisation des charges de travail, afin de trouver le meilleur équilibre entre économies et confort des utilisateurs.

Commencez par basculer les utilisateurs inactifs vers une offre inférieure ou par les déplacer dans un groupe d’attente temporaire, plutôt que de supprimer immédiatement leurs licences. Vérifiez la présence de mises en suspens juridiques, de boîtes aux lettres partagées ou de politiques de rétention qui nécessitent un accès continu. Enfin, documentez les exceptions et conservez les journaux d’audit avant de modifier ou de supprimer une licence, afin de respecter les cadres de conformité comme le RGPD (règlement général sur la protection des données) et la loi HIPAA.

Vous pouvez utiliser l’API Microsoft Graph ou PowerShell pour récupérer des licences. L’API Graph est idéale pour l’automatisation, le passage à l’échelle et les comptes de service répartis sur plusieurs tenants, tandis que PowerShell reste efficace pour des nettoyages ciblés, des tests et une exécution contrôlée dans le cadre de la gestion des changements. De nombreux MSP combinent les deux approches pour gagner en souplesse et en fiabilité.

Prévoyez une courte période de grâce permettant le retour en arrière et consignez l’état des licences avant et après dans votre registre de nettoyage des licences. Utilisez votre runbook PowerShell ou Graph prédéfini pour réattribuer rapidement les SKU, restaurer les accès et réactiver les données de boîte aux lettres ou de OneDrive.

Si l’attribution de licences par groupe dans Azure AD (Microsoft Entra ID) entre en conflit avec des besoins temporaires, créez des groupes d’exception avec une date d’expiration pour les cas particuliers comme les projets ou les tests. Automatisez l’expiration des appartenances et replacez les utilisateurs dans leurs groupes standard dès que les exceptions arrivent à échéance.

You might also like

Prêt à simplifier les aspects les plus complexes de l'informatique et de la sécurité ?