Office 365 : Lister les utilisateurs avec une licence spécifique en PowerShell
Sommaire
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 !