Pour trouver les licences Microsoft 365 inutilisées, comparez trois chiffres : combien de licences vous avez achetées, combien sont attribuées à des utilisateurs, et combien de ces sièges attribués sont réellement utilisés. L'écart entre achetées et attribuées correspond à vos licences non attribuées, des sièges que vous payez et que personne ne détient. L'écart entre attribuées et actives correspond à vos sièges dormants, des licences posées sur des comptes qui ne se sont pas connectés ni n'ont touché à un service depuis des semaines. Vous pouvez faire remonter le premier écart en quelques minutes dans le centre d'administration Microsoft 365, sous Facturation puis Licences, et quantifier les deux avec un court script Microsoft Graph PowerShell construit autour de Get-MgSubscribedSku et des rapports d'utilisation. Faites-le une fois et vous trouvez le gaspillage. Faites-le chaque mois et il reste trouvé.
Ceci est l'analyse approfondie qui se cache derrière la première étape de notre guide en neuf étapes pour réduire les coûts Microsoft 365 et Azure. Cette vue d'ensemble montre où se situe le gaspillage de licences parmi les autres schémas courants. Cet article est le mode d'emploi pratique pour la ligne des licences elle-même : comment construire un rapport de licences Microsoft 365, le lire correctement, éviter les pièges de l'attribution de licences basée sur des groupes, et transformer un nettoyage ponctuel en une habitude.
Non attribuées ou attribuées mais inactives : deux types de gaspillage
Tout gaspillage de licences ne se ressemble pas, et la correction diffère selon le type.
Les licences non attribuées sont les plus simples. Vous avez payé une quantité d'un produit, mais moins de sièges sont attribués à des utilisateurs que vous n'en possédez. Le surplus est facturé à chaque cycle, que quelqu'un l'utilise ou non. Il s'agit d'une pure marge achetée pour la croissance ou un projet et jamais réduite ensuite.
Les sièges attribués mais inactifs sont plus subtils et représentent généralement le plus gros gain. Ici, la licence est attribuée à un compte réel, elle n'apparaît donc pas comme un surplus, mais la personne ne l'utilise pas. Elle a peut-être discrètement quitté l'entreprise, changé de rôle, n'a jamais été intégrée au service, ou se trouve sur un plan bien plus riche que nécessaire. Le siège semble justifié, et pourtant sa valeur est nulle.
Trouver les deux implique de mesurer deux fois : achetées face à attribuées pour repérer le surplus non attribué, puis attribuées face à l'activité réelle pour repérer les sièges dormants. L'optimisation des licences est la pratique consistant à combler ces deux écarts et à les maintenir comblés.
Repérer l'écart dans le centre d'administration Microsoft 365
Commencez dans le portail pour une lecture rapide. Dans le centre d'administration Microsoft 365, allez dans Facturation puis Licences. Chaque produit affiche les décomptes achetés face aux attribués, de sorte que tout produit où les achetées dépassent nettement les attribuées détient des sièges non attribués que vous pouvez récupérer ou cesser de renouveler.
Pour passer d'attribuées à réellement utilisées, ouvrez Rapports puis Utilisation. Les rapports d'utilisation affichent les dates de dernière activité par service, par exemple la dernière fois qu'un utilisateur a envoyé un courrier, utilisé OneDrive, ou a été actif dans Teams. Quelques points méritent d'être connus pour les lire correctement. La date de dernière activité reflète l'activité intentionnelle la plus récente quelle que soit la fenêtre de 7, 30, 90 ou 180 jours que vous avez sélectionnée, et lorsque vous supprimez un utilisateur, ses données d'utilisation sont retirées sous environ 30 jours. Si les noms apparaissent anonymisés, un administrateur peut activer les noms réels sous Paramètres puis Paramètres de l'organisation puis Rapports.
Le portail suffit pour repérer l'évident. Pour établir un rapport sur chaque SKU d'un coup, et pour automatiser la vérification mensuelle, PowerShell est plus rapide.
Construire un rapport de licences Microsoft 365 avec Get-MgSubscribedSku
Le SDK Microsoft Graph PowerShell vous donne le tableau achetées face aux attribuées pour chaque produit en une seule commande. Connectez-vous avec une portée de lecture, puis appelez Get-MgSubscribedSku.
Connect-MgGraph -Scopes "Organization.Read.All"
Get-MgSubscribedSku |
Select-Object SkuPartNumber,
@{ Name = 'Purchased'; Expression = { $_.PrepaidUnits.Enabled } },
ConsumedUnits,
@{ Name = 'Unassigned'; Expression = { $_.PrepaidUnits.Enabled - $_.ConsumedUnits } } |
Sort-Object Unassigned -Descending
Pour chaque abonnement, Get-MgSubscribedSku renvoie le SkuPartNumber, un objet PrepaidUnits dont la valeur Enabled est la quantité que vous avez achetée, et ConsumedUnits, le nombre attribué aux utilisateurs. Soustrayez l'un de l'autre et vous obtenez votre surplus non attribué par produit, trié de sorte que les plus grands écarts se trouvent en haut. Ce simple tableau constitue un rapport de licences Microsoft 365 exploitable, et comme il s'agit d'un script, vous pouvez le planifier plutôt que de cliquer dans le portail chaque mois.
Une réserve : ConsumedUnits compte les sièges attribués, pas les sièges utilisés. Cela confirme l'écart des non attribuées mais ne dit rien des sièges dormants. Pour cela, il vous faut des données d'activité.
Recouper l'usage réel
Pour trouver les sièges attribués mais inactifs, récupérez le rapport getOffice365ActiveUserDetail. Vous pouvez l'obtenir via l'API de rapports Microsoft Graph, un appel à /reports/getOffice365ActiveUserDetail avec une période telle que D90, ou via le module PowerShell Microsoft.Graph.Reports. La lecture du rapport nécessite la portée Reports.Read.All.
Le rapport renvoie une ligne par utilisateur avec la date de dernière activité pour chaque charge de travail, les licences attribuées, et les dates d'attribution des licences. Rapprochez cela de vos sièges attribués et les licences dormantes ressortent : tout compte détenant un siège payant sans activité sur Exchange, OneDrive, SharePoint ou Teams pendant la fenêtre que vous avez choisie est un candidat à la récupération ou au déclassement. Réglez la fenêtre pour qu'elle corresponde à votre réalité, 60 ou 90 jours est un point de départ raisonnable, et traitez tout ce qui la dépasse comme un siège à examiner.
Les pièges de l'attribution de licences basée sur des groupes
L'attribution de licences basée sur des groupes attribue et retire des sièges automatiquement à mesure que les personnes rejoignent ou quittent un groupe de sécurité, ce qui est la bonne façon de gérer les licences à grande échelle. Elle introduit aussi quelques pièges au moment de récupérer.
Le siège est consommé par l'appartenance au groupe, non par une attribution directe. Ainsi, pour libérer une licence, vous devez souvent retirer l'utilisateur du groupe de licences plutôt que de chercher une attribution par utilisateur qui n'existe pas. Un utilisateur peut également détenir à la fois une licence directe et une licence héritée, et retirer la directe ne libérera pas le siège tant qu'il l'hérite encore du groupe.
Surveillez aussi les erreurs d'attribution. Dans le centre d'administration, ouvrez le produit sur la page Licences et vérifiez l'onglet Erreurs et problèmes. Les causes courantes incluent le manque de licences, où les nouveaux membres du groupe n'obtiennent tout simplement pas de siège tant qu'il ne s'en libère pas, des plans de service en conflit où deux produits portent des plans mutuellement exclusifs, des dépendances de service manquantes, et des utilisateurs sans emplacement d'utilisation défini. Chaque erreur est un siège payé mais qui ne délivre rien, donc vider la liste fait partie de la récupération de valeur, pas seulement du rangement. En règle générale, tenez les comptes invités et interentreprises à l'écart des groupes de licences.
Le gaspillage au niveau des plans de service
Une licence est un ensemble de plans de service, et vous pouvez activer ou désactiver des plans individuels par utilisateur ou par groupe. Il vaut la peine d'être honnête sur ce que cela économise. Désactiver un plan de service à l'intérieur d'une licence ne réduit pas ce que la licence coûte, donc désactiver OneDrive sur un siège de série E ne rend pas le siège moins cher. Ce que le détail des plans de service vous apporte, c'est un signal. Lorsqu'une cohorte entière ne touche jamais qu'un ou deux plans d'un produit coûteux, c'est la preuve que la cohorte est sur le mauvais plan, et l'économie vient de son passage vers un SKU plus léger plutôt que de la bascule de plans. Utilisez l'usage des plans de service pour éclairer la répartition des plans, et comptez sur le redimensionnement du SKU, pas sur les bascules de plans, pour faire baisser le coût.
Lancer une boucle de récupération mensuelle
Un nettoyage ponctuel comble l'écart d'aujourd'hui. Une boucle le maintient comblé, car les parcs ne cessent jamais de bouger : des personnes arrivent, partent et changent de rôle chaque mois, et l'écart se rouvre discrètement si personne ne surveille. Le schéma est le même à chaque cycle. Rapprochez achetées et attribuées, rapprochez attribuées et actives, puis agissez sur tout siège qui ne peut justifier son coût.

La boucle mensuelle : achetées vers attribuées vers utilisées, conservez ce qui est utilisé, récupérez ou déclassez ce qui ne l'est pas, puis réexaminez le mois suivant.
En pratique, la boucle se résume à quatre mouvements. Lancez Get-MgSubscribedSku pour voir achetées face aux attribuées. Récupérez le rapport des utilisateurs actifs pour voir quels sièges attribués sont dormants. Pour chaque siège non attribué ou dormant, décidez de le récupérer, par exemple un partant dont la licence devrait être retirée, de le déclasser lorsque l'utilisateur convient à un plan plus léger, ou de le conserver avec un propriétaire nommé et une raison lorsque le siège est réellement saisonnier. Enfin, réduisez la quantité prépayée au renouvellement afin de cesser de payer pour un surplus que vous ne réattribuez jamais, et notez l'avant et l'après pour que l'économie soit prouvée plutôt que supposée. Les gains ici sont directionnels par nature, car ils dépendent de votre parc, mais presque chaque passage mensuel trouve quelque chose.
La place d'EtherInsights
Exécuter cette boucle à la main est gérable pour un petit parc et devient vite un métier à part entière sur un parc plus grand, ou sur de nombreux tenants pour un fournisseur de services managés. EtherInsights est conçu pour faire le rapprochement à votre place : il fait remonter les sièges non attribués et dormants, signale là où l'activité s'est arrêtée, et suit l'avant et l'après pour qu'une récupération soit étayée par des preuves. Pour l'ensemble du cycle de vie des licences, la gestion des licences Microsoft 365 et le départ des partants boucle la boucle de l'arrivée au départ, afin que les sièges dormants soient récupérés et que les partants soient traités avant que leurs licences ne continuent d'être facturées.
Le gaspillage de licences n'est qu'une ligne parmi d'autres, c'est pourquoi il s'inscrit dans le tableau plus large de l'optimisation des coûts cloud aux côtés des ressources Azure inactives et des machines virtuelles surdimensionnées. Si vous voulez d'abord le contexte plus large, le guide des coûts en neuf étapes situe la place de la récupération des licences parmi les autres schémas qui méritent d'être vérifiés.
Les licences inutilisées comptent parmi les gaspillages les plus faciles à trouver et les plus faciles à laisser sans contrôle. Mesurez achetées face aux attribuées, attribuées face aux actives, agissez sur l'écart, et répétez chaque mois pour que le parc continue de ne payer que les sièges qu'il utilise réellement.
Découvrez la gestion des licences Microsoft 365 et le départ des partants pour voir comment la récupération des sièges dormants et le départ des partants se rejoignent à travers le cycle de vie des licences.
