03/10/2024

Office 365PowerShell

Office 365 : Lister les utilisateurs avec une licence spécifique en PowerShell

I. Présentation

Dans ce tutoriel, je vous propose de voir comment lister les utilisateurs Office 365 ayant une licence spécifique, le tout en PowerShell afin de pouvoir exploiter le résultat dans un script, ou tout simplement de l'exporter dans un fichier CSV.

Avant de commencer, ouvrez votre éditeur PowerShell et établissez la connexion à Office 365 en PowerShell.

II. Lister les licences

Tout d'abord, il va falloir lister les licences Office 365 associées à votre tenant. Ceci va permettre également de récupérer le nom de la licence, car le nom du produit en ligne de commande n'est pas le même que le nom d'affichage sur la console d'administration Office 365.

Exécutez la commande suivante :

Get-MsolAccountSku

Celle-ci va lister vos licences, avec à chaque fois, le nom, la quantité disponible et la quantité utilisée. La valeur "AccountSkuId" nous intéresse et vous devez récupérer le nom correspondant à la licence que vous souhaitez cibler.

Une fois le nom récupéré, passez à la suite.

III. Lister les utilisateurs bénéficiant de cette licence

On va stocker dans la variable $UserList la liste des utilisateurs qui ont la licence "OFFICESUBSCRIPTION_FACULTY" (ce qui correspond à une licence "Office 365 ProPlus pour les enseignants"). On va récupérer la liste grâce à la commande Get-MsolUser où chaque utilisateur dispose de la propriété "Licenses" qui contient la liste des licences dont il bénéficie.

Dans la commande ci-dessous, remplacez "OFFICESUBSCRIPTION_FACULTY" par le nom de votre licence.

$UserList = Get-MsolUser -All | Where-Object {($_.Licenses).AccountSkuId -match "OFFICESUBSCRIPTION_FACULTY"}

Le résultat étant récupéré, vous pouvez simplement afficher $UserList dans la console pour lister les utilisateurs.

Enfin, nous allons exporter les utilisateurs dans un fichier CSV en conservant uniquement le champ "UserPrincipalName" qui est un identifiant unique au niveau d'Office 365. A partir de notre variable $UserList on va pouvoir appliquer Export-Csv pour obtenir le fichier de sortie "C:\Temp\o365.csv".

$UserList | Select-Object UserPrincipalName | Export-Csv -NoTypeInformation -Path "C:\Temp\o365.csv"

Voilà, vous êtes désormais en mesure d'obtenir la liste des utilisateurs ayant une licence Office 365 spécifique !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.