17/11/2024

CloudOffice 365PowerShell

Office 365 : Récupérer le nom des licences en PowerShell

I. Présentation

Lors de la réalisation de différents scripts PowerShell en rapport avec Office 365, vous serez surement amené à manipuler les licences puisqu'elles doivent être associées à vos utilisateurs afin qu'ils puissent accéder aux différents services et applications. Les licences que vous avez en votre possession dépendent des offres auxquels vous avez souscrit.

Le problème c'est que si vous avez une licence, par exemple pour Exchange Online, quelle est la codification de cette licence pour l'intégrer dans un script ? Nous allons voir dans ce tutoriel comment récupérer la liste de ses licences rapidement, afin de faire le lien entre le nom affiché sur l'interface web d'administration Office 365 et le nom que l'on peut utiliser dans le script.

Comme d'habitude, il faudra initier en PowerShell une connexion auprès des services en ligne Microsoft : Comment se connecter à Office 365 en PowerShell ?

II. Lister les licences

Une fois authentifié auprès des services Office 365, vous pouvez lister vos licences avec la commande "Get-MsolAccountSku" qui même sans paramètre retournera ces infos là au minimum :

AccountSkuId                          ActiveUnits WarningUnits ConsumedUnits
------------                          ----------- ------------ -------------
<nom-entité>:OFFICESUBSCRIPTION_FACULTY   100         0            10            
<nom-entité>:PROJECTONLINE_PLAN_1_STUDENT 300         0            30

La colonne "AccountSkuId" correspond au nom de la licence et on peut identifier facilement avec ce nom de quel type de licence il s'agit et pour quel(s) produit(s). C'est ce nom qu'il faudra utiliser dans vos scripts notamment pour associer une licence à un utilisateur. Il faudra utiliser le nom complet de la licence c'est à dire "<nom-entité>:<nom-licence>", par exemple : itconnect:OFFICESUBSCRIPTION_FACULTY 

Note : Cette commande peut-être utilisée également pour voir le taux d'utilisation des licences

Passons à la suite.

III. Retrouver la licence associée à un utilisateur

Pour savoir quelle est la licence ou quelles sont les licences associées à un utilisateur spécifique, on s'appuiera sur le commandlet "Get-MsolUser" qui dispose d'une propriété "Licenses". Par exemple, pour visualiser les licences associées à l'utilisateur "[email protected]", voici la commande :

Get-MsolUser -UserPrincipalName [email protected] | Format-List DisplayName,Licenses

Ce qui retournera :

DisplayName : Florian Burnel
Licenses    : {itconnect:EXCHANGEENTERPRISE_FACULTY, itconnect:OFFICESUBSCRIPTION_FACULTY}

Voilà, vous n'avez plus d'excuse désormais si vous n'utilisez pas les bons noms de licences dans vos scripts ! Maintenant, c'est à vous de jouer 😉

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

1 commentaire sur “Office 365 : Récupérer le nom des licences en PowerShell

  • Bonjour,
    Est-il possible de recevoir une notification lorsqu’un groupe avec une affectation de licence est en erreur.
    Par exemple : Groupe_XXX à une affection pour une licence Business Premium, mais il n’y a plus de licence disponible. Donc dans le menu « Licences » de Azure Active Directory, une erreur apparait, est-il possible d’être notifié quand cette erreur apparait pour nous prévenir qu’il manque une licence et qu’il faut donc l’ajouter ?

    Répondre

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.