Meta

Category: Uncategorized

Microsoft recently released a new version of the PowerShell module for administering Azure Active Directory to General Availability.

The previous module used MSOL (Microsoft Online) cmdlets to perform tasks (i.e. Get-MSOLUser). The new cmdlets use the AzureAD cmdlets (i.e. Get-AzureADUser) which leverage the Graph API.

Because of this, you’ll want to make sure you download the latest version of the modules and update your existing scripts accordingly.

Assigning Office 365 licenses with these new cmdlets can be a bit tricky and confusing at first. So, I’ll try to explain the process step-by-step so you gain an understanding of what’s going on.

Understanding licenses in Office 365:

Each license in Office 365 has an associated SkuID and SkuPartNumber and a list of one or more associated ServicePlans.

For instance, the E3 license has a SkuID of 6fd2c87f-b296-42f0-b197-1e91e994b900, a SkuPartNumber of ‘ENTERPRISEPACK’, and is comprised of the following Service Plans:

Service plan

Description

SWAY

Sway

INTUNE_O365

Mobile Device Management for Office 365

YAMMER_ENTERPRISE

Yammer

RMS_S_ENTERPRISE

Azure Rights Management (RMS)

OFFICESUBSCRIPTION

Office Professional Plus

MCOSTANDARD

Skype for Business Online

SHAREPOINTWAC

Office Online

SHAREPOINTENTERPRISE

SharePoint Online

EXCHANGE_S_ENTERPRISE

Exchange Online Plan 2

You can get a listing of the friendlier Descriptions for each of the SkuPartNumbers from TechNet here.

When you assign an E3 license to an individual user, you can choose to exclude one or more Service Plans so they don’t get access to those services.

Assigning Licenses in PowerShell

Each Office 365 tenant has a unique TenantID that looks similar to the SkuID or any other GUID. In our example below, the TenantID is 85b5ff1e-0402-400c-9e3c-0f9e965325d1.

To get a list of the SkuIDs you are subscribed to in your Office 365 tenant, connect to Azure AD using the Connect-AzureAD cmdlet. Then, run:

C:\> Get-AzureADSubscribedSku

You’ll get returned a list of ObjectIDs, SkuPartNumbers, PrepaidUnits and ConsumedUnits, showing how many licenses from each Sku have already been assigned (see example below from the online documentation for Get-AzureADSubscribedSku). The ObjectID is made up of the TenantID, an underscore, and the SkuID for each subscription you have purchased:

If we also wanted to assign, for instance, EMS licenses to the user in addition to the E3 license, we’d repeat the process above and create a second AssignedLicense object and add it to the AddLicenses property of $AssingedLicenses. I’ve done this below for brevity:

Now that we’ve got an object that contains a list of all the licenses and excluded service plans, we’re ready to actually assign these licenses to your user(s). To assign the license, simply run the Set-AzureADUserLicense cmdliet, providing the $AssignedLicenses variable:

But you’ll have to add an Office 365 commercial account or on-premises Exchange 2016 mailbox to be able to use it.

This feature is well-known in Outlook desktop clients; and it’s always worked regardless of whether your mailbox is on Office 365 or Exchange on-premises.

On a somewhat related note, Microsoft finally completed the move from AWS to the Microsoft Cloud for the back-end infrastructure supporting this app. That goes a long way to easing many corporate security concerns.

This week, Apple Insider reported that Microsoft has released patches and updates to the Office for Mac 2011 suite. The most important update perhaps is the new ability to better integrate with Office 365 for existing Office for Mac 2011 users.

Now, users get a better co-authoring experience with their Windows OS team mates as well as the ability to save files to SkyDrive and SharePoint. For a more details about this patch (KB2454823) visit this Microsoft Support Website or to download the patch, visit this Microsoft Download page.

Finally got my notice today from Microsoft that my personal tenant is being upgraded to the new 2013 (Wave 15) version of Office 365. Happens in about 4 weeks. I’ll post about my experience through the process here as I go through it.