Assignation automatique de licence

Pour être plus efficace, rentable et adapté à leurs besoins d’affaires, un client m’a demandé de lui réaliser un script pour automatiser l’assignation des licences utilisateurs sur Office 365. Dans un environnement collégial, où tous les utilisateurs ont les mêmes licences, il est assez simple de créer un script PowerShell (voir ci-dessous) et de le programmer avec task scheduler sur un serveur de l’entreprise.

Ici le script va automatiquement associer une première licence Plan E1 qui inclus les options Exchange, Sharepoint et Lync. Ensuite, le script va rajouter la licence Office365Pro Plus qui permet aux élèves d’installer la suite Office sur leur ordinateur personnel. 

Avant de pouvoir utiliser le script ci-dessous quelques prérequis:

  • Microsoft Online Service Sign-in Assistant doit être installé sur votre serveur
  • Le Module PowerShell MsOnline (32-bit ou 64-bit) doit également être installé sur le serveur
  • Vous devez utiliser un compte Global Administrateur de votre tenant Office 365
  • Enfin, n’oubliez pas de crypter votre mot de passe
Script.ps1

#Variables
$StudentE1Plan = “CONTOSO:STANDARDWOFFPACK_STUDENT”
$StudentProPlusPlan = “CONTOSO:OFFICESUBSCRIPTION_STUDENT”
$UsageLocation = “CA”
$AdminUsername = “Admin.Online@contoso.onmicrosoft.com”
$AdminPassword = “01234560d08c9ddf0115d1118c7a00c04fc297eb01000000624cd458111cce43914700864c926d6c0000000002000000000003660000c000000010000000d1978bc3e6f882a365ee88cf99d218a90000000004800000a000000010000000bf53352b415bdad87713c3024126198a18000000b50d34af8581989a86e484b7ef743fd0a7b7dcc6dbbe2b2e1400000065d00a033b86dcb5d44e739882db27318e17c546”

#Conversions
$SecurePassword = ConvertTo-SecureString $AdminPassword AsPlainText Force
$cred = New-Object TypeName System.Management.Automation.PSCredential argumentlist $AdminUsername,$SecurePassword

#Import MsOnline Module
Import-Module MSOnline

#Connect to Office365
Connect-MSOLService Credential $cred

#Get Unlicenced Users on Office365
$SudentE1Options = New-MsolLicenseOptions AccountSkuId $StudentE1Plan
$SudentProPlusOptions = New-MsolLicenseOptions AccountSkuId $StudentProPlusPlan
$UnlicencedUsers = Get-MSOLUser UnlicensedUsersOnly All

#Set Location CA for CANADA and Student A2 licence for all unlicenced users
$UnlicencedUsers | ForEach-Object {
    Set-MsolUser UserPrincipalName $_.UserPrincipalName UsageLocation $UsageLocation
    Set-MsolUserLicense UserPrincipalName $_.UserPrincipalName AddLicenses $StudentE1Plan LicenseOptions $SudentE1Options
    Set-MsolUserLicense UserPrincipalName $_.UserPrincipalName AddLicenses $StudentProPlusPlan LicenseOptions $StudentProPlusPlan
}

 

One thought on “Assignation automatique de licence

Comments are closed.

Vous souhaitez migrer ou connecter votre système téléphonique à Teams ?

Écrivez-moi et restons en contact !

small_c_popup.png

Formulaire de contact

Discutons ensemble de vos projets