Introduction
La gestion efficace des licences Microsoft 365 est essentielle pour réduire les coûts et optimiser les ressources. Grâce à PowerShell et aux outils Microsoft Graph, il est possible d'identifier les comptes utilisateurs inactifs et de prendre des mesures pour récupérer des licences inutilisées.
Pourquoi Identifier les Comptes Inactifs ?
L'augmentation des coûts des licences Microsoft 365, prévue pour juillet 2026, pousse les professionnels IT à revoir l'utilisation des licences attribuées. Identifier les comptes inactifs permet :
- Réduire les dépenses liées à des licences inutilisées.
- Optimiser le budget en remplaçant les licences coûteuses par des alternatives moins chères.
- Éviter les erreurs de gestion dans l'attribution des licences (par exemple, licences attribuées à des comptes désactivés).
Bon Ă savoir
Le script Microsoft 365 Licensing Report (version 1.96) peut vous aider Ă identifier les comptes inactifs et Ă analyser l'utilisation des licences dans votre environnement.
Utiliser PowerShell pour Trouver des Comptes Inactifs
PowerShell, associé au Microsoft Graph PowerShell SDK, offre une méthode rapide et flexible pour identifier les comptes utilisateurs inactifs. Voici un guide étape par étape :
Connexion Ă Microsoft Graph
Connectez-vous à Microsoft Graph avec un compte administrateur et donnez votre consentement pour les permissions nécessaires, notamment User.Read.All, Places.Read.All et LicenseAssignment.Read.All.
1Connect-MgGraph -Scopes "User.Read.All", "Places.Read.All", "LicenseAssignment.Read.All"Récupérer les Comptes Licenciés
Exécutez une commande PowerShell pour identifier les comptes ayant des licences attribuées. Cela inclut les comptes utilisateur et les boîtes aux lettres de salle.
1[array]$Users = Get-MgUser -Filter "assignedLicenses/$count ne 0 and userType eq 'Member'" -Property Id, DisplayName, userPrincipalName, AssignedLicenses, SignInSessionsValidFromDateTime -All2[array]$Places = Get-MgPlaceAsRoom -All -PageSize 500Créer une Table de Conversion des Licences
Générez une table de correspondance entre les identifiants SKU des licences et leurs noms.
1[array]$SKUs = Get-MgSubscribedSKU | Select-Object SkuId, SkuPartNumber2$SKUHash = @{}3ForEach ($SKU in $SKUs) {4 $SKUHash.Add($SKU.SkuId, $SKU.SkuPartNumber)5}Identifier les Comptes Inactifs
Définissez une date limite pour les comptes inactifs (90 jours) et identifiez les utilisateurs n'ayant pas signé récemment.
1$CutoffDate = (Get-Date).AddDays(-90).ToUniversalTime()2ForEach ($User in $Users) {3 If (($User.SignInSessionsValidFromDateTime -lt $CutoffDate)) {4 Write-Output "Compte inactif : $User.DisplayName"5 }6}Résultats et Actions
Une fois les comptes inactifs identifiés, vous pouvez :
- Remplacer les licences coûteuses par des alternatives moins chères.
- Supprimer les licences des comptes inutilisés.
- Analyser les besoins spécifiques (exemple : congés prolongés ou interruptions temporaires).

Astuce
Utilisez le script complet disponible sur le GitHub Office 365 IT Pros pour automatiser le processus.
Conclusion
Optimiser l'utilisation des licences Microsoft 365 grâce à PowerShell et aux outils Microsoft Graph est une approche stratégique pour les professionnels IT. En identifiant rapidement les comptes inactifs, vous pouvez réduire les coûts et améliorer l'efficacité de votre environnement M365.



