Can you use Powershell to set part of an O365 license to a group of users?


I’m relatively new to Powershell and have been asked to enable Office 365 Pro Plus licenses for an Office 365 E3 subscription to a number of users - several hundred - and don’t want to do this manually. Has anyone done this before and could suggest the powershell commands to look at please?



Someone on SysOps had a really good article for doing this. You might want to read through.

Well, if you are new to PowerShell this might be challenging, you can also Bulk-select users in the Office 365 Portal and add licenses with specific license plans with a few clicks.

But, this is a PowerShell forum, so if you want to learn PowerShell, the URL that kvprasoon should help you achieve that goal.


It is definately do-able.

however, just as a warning it is not trivial, and relatively easy to assign un-wanted licenses from your tenant (at least until you run out of licenses…)

the respective cmdlets from the msonline module would be






Being new to PS, you really need to get up to speed first before doing major stuff like this, as well as how to deal with PS and O365/Azure, which are separate module installs and use.

Vis the Microsoft Virtual Academy or search YouTube for beginning PS training, as well as the many resources on Amazon and the no-cost eBooks on this site and others.

As for your use case. There are modules/scripts from the MS specifically for this sort of effort.

Manage your O365 Licenses

Helps automate common license management tasks by providing a simpler interface on existing PowerShell Cmdlets. Supports Adding SKUs, Replacing SKUs, Disabling Plans, and Updating Existing SKU Plans. Also generates a comprehensive license report.

Browse code samples | Microsoft Learn

Office 365 License Reporting and Management Tool -Assign Remove Licenses in Bulk

This is a simple windows forms GUI based utility to manage Office 365 license. You can assign/unassign/update user(s) license. You can also manage licenses for multiple office365 tenants.

Browse code samples | Microsoft Learn

Office 365: Manage User License Lifecycle with PowerShell

Set-O365UserLicense A PowerShell function for managing licenses for Office 365 throughout their lifecycle. You can use this to automate licensing new users as well as maintaining the correct licenses for users as they change roles or as your licensing needs change.

Browse code samples | Microsoft Learn