Managing Licensing in Microsoft 365 EDU

This is a quick and dirty post with some pre-canned information I send to my customers when the conversation of “how do I manage licensing” comes up. I’ll come back and add more context but for now this should be a great starting point for most any EDU organization!

PowerShell Method

Today most organizations use PowerShell, either manually called or via an automation process, to assign licenses. This is still possible today though not really the best option for large scale IDM like processes.

The two links above provide the basic commands to assign and remove a license from a user in Office 365 as well as a sample of how to do this for more than one user at a time. If you wanted to remove the current A1 and assign the A3 license at the same time you could do something like this:

NOTE: The skuID’s I’m using below may not be accurate, please validate against your own tenant.

Set-MsolUserLicense -UserPrincipalName “student@school.edu” –AddLicenses “tenantID:M365EDU_A3_STUDENT“ -RemoveLicenses “tenantID:STANDARDWOFFPACK_STUDENT“

If you wanted to find all students licensed under their A1 sku and change them all to the A3 student license you could do this:

Get-MsolUser -All | Where {$_.isLicensed -eq “TRUE” -and $_.Licenses.AccountSKUID -eq “tenantID:STANDARDWOFFPACK_STUDENT“} | Set-MsolUserLicense –AddLicenses “tenantID:M365EDU_A3_STUDENT“ –RemoveLicenses “tenantID:STANDARDWOFFPACK_STUDENT“

If you have an automated process via PowerShell that is handling student/faculty licensing you will need to ensure this is updated so that new students are being assigned the A3 sku rather than the current A1.

Azure AD Group Based Licensing

Azure AD Group based licensing allows for easier management of all Office 365 license assignments for both Students and Faculty as part of your provisioning and de-provisioning. 

NOTE: this would replace any powershell scripts you have created

Microsoft Graph API (New)

Microsoft Graph is a new development platform that unlocks a vast amount of endpoints for organizations to integrate with that reside in our cloud services. Graph’s primary goal is to make integration with current investments or in house line of business applications and processes easier than ever. You can read more about what Graph is here: https://developer.microsoft.com/en-us/graph/docs/concepts/overview

Specific to Office 365 you can use Graph to edit licensing. This could be integrated with your existing provisioning process as well. Note: licensing management via Graph is still in beta so it is recommended to not use in production environments just yet. I wanted to ensure you were aware of this possibility for reference.

Assigning licenses using Graph: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_assignlicense