🚀 Guide pas à pas pour obtenir en PowerShell la liste des utilisateurs ayant une licence Intune
🌍 Dans un environnement IT, il est essentiel de pouvoir identifier rapidement les utilisateurs qui possèdent une licence Intune.
Que ce soit pour l’administration, l’audit, ou la gestion des accès, ces données sont cruciales pour assurer une bonne gouvernance des ressources.
🛠️ Microsoft Graph PowerShell est la solution moderne idéale pour extraire ces informations sans passer par l’interface graphique de Microsoft Entra ID.
Grâce à quelques commandes bien pensées, nous allons voir comment récupérer cette liste d’utilisateurs et exploiter ces données efficacement.
🔍 Ce guide se veut progressif et accessible, permettant à chacun d’apprendre étape par étape et de repartir avec un script fonctionnel.
À la fin de ce tutoriel, vous aurez une méthode claire et optimisée pour récupérer les utilisateurs ayant une licence Intune en toute autonomie.
🛠️ Prérequis et installation
Avant de commencer, voici les éléments indispensables pour exécuter correctement les commandes PowerShell et récupérer les informations sur les licences Intune.
🔑 Vous devez avoir les droits administratifs sur votre tenant Microsoft Entra ID.
📌 L’accès à Microsoft Graph API est requis, avec les permissions User.Read.All et Directory.Read.All.
⚠️ Si vous n’avez pas ces permissions, un administrateur devra accorder l’accès via un consentement.
💻 Pour interagir avec Microsoft Graph, nous devons installer son module PowerShell :
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force;
Install-Module -Name Microsoft.Graph -Scope CurrentUser;
✅ Explication rapide :
-
Set-ExecutionPolicypermet d’exécuter des scripts sans restriction. -
Install-Moduleinstalle Microsoft Graph PowerShell pour exécuter nos commandes.
🔗 Une fois le module installé, il faut se connecter à Microsoft Graph pour récupérer les données :
Connect-MgGraph -Scopes "User.Read.All", "Directory.Read.All";
⚠️ Note : Lors de la première connexion, un navigateur s’ouvrira pour authentifier votre compte. Assurez-vous d’utiliser un compte avec les permissions nécessaires !
🔍 Exploration des licences disponibles
Avant d'extraire la liste des utilisateurs possédant une licence Intune, nous devons d'abord identifier le SKU (Stock-Keeping Unit) et les Service Plans qui lui sont associés. Cela nous permettra de récupérer l’ID spécifique de INTUNE_A, indispensable pour la suite du script.
La commande suivante permet d’afficher tous les SKU des licences attribuées à votre tenant Microsoft Entra ID :
Get-MgSubscribedSku;
✅ Pourquoi c'est utile ?
-
Elle permet de voir toutes les licences actives sur votre environnement.
-
Chaque abonnement possède un SkuPartNumber qui servira de référence pour le filtrage.
Nous filtrons les résultats pour ne récupérer que EMSPREMIUM, qui inclut Intune :
Get-MgSubscribedSku | Where-Object SkuPartNumber -EQ EMSPREMIUM | Format-List;
🔎 Explication :
-
Where-Object SkuPartNumber -EQ EMSPREMIUM→ Filtre uniquement EMSPREMIUM. -
Format-List→ Affiche les détails complets du SKU (ID, capacité, service plans).
Chaque SKU contient plusieurs services, et nous voulons extraire Intune :
Get-MgSubscribedSku |
Where-Object SkuPartNumber -EQ EMSPREMIUM |
Select-Object -ExpandProperty ServicePlans;
📝 Pourquoi c'est important ?
-
ExpandProperty ServicePlansaffiche tous les services inclus dans EMSPREMIUM. -
Intune est représenté sous la forme ServicePlanName = INTUNE_A.
Nous filtrons directement pour récupérer l’ID du service plan INTUNE_A, nécessaire pour notre script final :
$IntuneServicePlanId = (Get-MgSubscribedSku |
Where-Object SkuPartNumber -EQ EMSPREMIUM |
Select-Object -ExpandProperty ServicePlans |
Where-Object ServicePlanName -EQ "INTUNE_A").ServicePlanId;
🛠️ Cet ID est essentiel pour identifier les utilisateurs ayant réellement Intune activé.
🔥 Identification des utilisateurs avec une licence Intune
Maintenant que nous avons récupéré l’ID du service plan Intune, nous pouvons identifier les utilisateurs ayant réellement accès à ce service. Plutôt que de se baser uniquement sur les licences assignées (AssignedLicenses), nous allons filtrer sur les services activés (AssignedPlans), ce qui est bien plus précis.
Avant d’effectuer un filtrage avancé, affichons simplement tous les utilisateurs pour avoir une vue d’ensemble :
Get-MgUser | Select-Object DisplayName, UserPrincipalName;
✅ Cela permet de vérifier que les utilisateurs sont bien récupérés via Microsoft Graph.
Nous allons utiliser l’ID du service plan INTUNE_A pour extraire uniquement les utilisateurs qui ont activement Intune :
PowerShell
✅ Explication :
-
On récupère l’ID du service plan Intune (
INTUNE_A). -
On liste les utilisateurs avec Get-MgUser.
-
On vérifie leurs ServicePlans activés, pour ne récupérer que ceux ayant réellement Intune.
-
On affiche DisplayName et UserPrincipalName, pour une meilleure lisibilité.
Si vous souhaitez ajouter d’autres critères, comme un filtrage sur une unité organisationnelle ou un groupe spécifique, vous pouvez modifier la requête ainsi :
Get-MgUser -Filter "Department eq 'IT'" | ForEach-Object { ... }
🛠️ Cela permet de cibler uniquement les utilisateurs de certains départements ou unités de votre entreprise.
Si certains utilisateurs ne s’affichent pas, voici quelques vérifications à faire :
⚠️ Ils ont reçu la licence via un groupe → Utilisez Get-MgGroupMember pour voir les affectations indirectes.
⚠️ Synchronisation des données → Les mises à jour prennent parfois du temps avant d’être visibles via Microsoft Graph.
⚠️ Permissions insuffisantes → Vérifiez que vous avez bien Directory.Read.All dans Connect-MgGraph.
🎯 Avec cette méthode, vous avez désormais une façon claire et efficace d’identifier les utilisateurs ayant une licence Intune en PowerShell ! 🚀
💡 On passe à la dernière section avec des conseils d’optimisation et automatisation ? 🔥😃
🎯 Conclusion
Grâce à Microsoft Graph PowerShell, il est possible d’identifier facilement les utilisateurs ayant une licence Intune sans passer par l’interface graphique. Dans ce guide, nous avons vu comment :
✅ Installer et configurer PowerShell pour interagir avec Microsoft Graph.
✅ Explorer les licences disponibles et récupérer les détails de INTUNE_A.
✅ Lister les utilisateurs possédant activement Intune en filtrant sur AssignedPlans.
💡 Cette méthode est essentielle pour l’administration IT, l’audit et la gestion des accès. Elle vous permet de gagner en efficacité et d’automatiser des tâches récurrentes.
📌 Prochaine étape ? Dans un prochain article, nous verrons comment créer un groupe dynamique Entra ID basé sur ces utilisateurs, afin d’optimiser encore plus la gestion des accès et des licences. 🚀
📢 Cet article vous a été utile ? Partagez-le avec vos collègues ! 🚀
👉 #PowerShell #MicrosoftGraph #Intune #EntraID #AutomatisationIT