I was asked by several customers what are some of the new SKU names they can use and where can they find some licensing sample PowerShell scripts. I put together a few matrices covering these along with links to several sample scripts.

You also need to create a session to connect to Office 365 PowerShell. See my post here for those steps.

Here are some SKU names and PowerShell names:

        

SKU Name

           
              PowerShell Name

A2 Student

STANDARDWOFFPACK_STUDENT

A2 Faculty

STANDARDWOFFPACK_FACULTY

A3 Faculty

ENTERPRISEPACK_FACULTY

A3 Student

ENTERPRISEPACK_STUDENT

Office 365 ProPlus for Student or Student Advantage

OFFICESUBSCRIPTION_STUDENT

      Alumni

  EXCHANGE_S_STANDARD

If you want to enable or disable service plans within a particular A2 or A3 suite SKU:


    Plan Name

PowerShell name

SharePoint Plan 1 faculty (A2) SHAREPOINTSTANDARD_EDU
SharePoint Plan 1 student (A2) SHAREPOINTSTANDARD_EDU
Exchange Online Plan 1 faculty (A2) EXCHANGE_S_STANDARD
Exchange Online Plan 1 student (A2) EXCHANGE_S_STANDARD
Exchange Plan 2 for faculty (A3)

EXCHANGE_S_ENTERPRISE

Lync Online Plan 2 student (A2 or A3)

MCOSTANDARD

Lync Online Plan 2 faculty (A2 or A3)

MCOSTANDARD

SharePoint Plan 2 faculty (A3)

SHAREPOINTENTERPRISE_EDU

Office 365 ProPlus faculty (A3)

OFFICESUBSCRIPTION

Office Online for faculty (A2 or A3)

SHAREPOINTWAC_EDU

Office Online for student (A2 or A3)

SHAREPOINTWAC_EDU

Azure Rights Management faculty (A3)

RMS_S_ENTERPRISE

Sample approach to Office 365 Education licensing:

1) Create an Office 365 PowerShell login script to use for all of your Office 365 PowerShell usage scenarios.  Please see my other blog post on creating a Super Office 365 PowerShell script here.

2) Create a global admin account which is not synced via Dirsync and does not have an expiring password. Steps to create non-expiring password on a global admin account.

clip_image004

3) Obtain a CSV file of your faculty or students with DisplayName, UserPrincipalName headers. You can also dump users from Office 365 which may have been dirsynced using this script:

#Export all O365 users to CSV File
Get-msoluser -all | Sort DisplayName | Select DisplayName, UserPrincipalName | Export-CSV o365users.csv

4) Run a student or faculty script below based on your needs:
To run a script copy the scripts below to notepad and save each one as a separate .PS1 file (PowerShell executable). Run the PS1 files from within an Office 365 Azure AD PowerShell session like the sample script provided in Step 1

Sample script to enable A2 and Student Advantage for students:

#Import CSV File of Student Accounts
$CSV=Import-csv students.csv
foreach ($line in $csv) {
write-output $line.UserPrincipalName

#These are plans we will not enable - e.g. MCOSTANDARD = Lync Online - remove -disabledplans section from script if you want to license all of A2 for students
#Refer to SKU blog for SKU and license plan names: http://aka.ms/licensescript

$disabledPlans = @()
#$disabledPlans +="MCOSTANDARD"

# Create variable for student A2 standard (no Lync)
$StudentPlan = New-MsolicenseOptions -AccountSKUId tenantname:STANDARDWOFFPACK_STUDENT -DisabledPlans $disabledPlans

# Set usage location
Set-Msoluser -UserPrincipalName $line.UserPrincipalName -UsageLocation "US"

#License using Student A2 standard
Set-msoluserlicense -UserPrincipalName $line.UserPrincipalName -Addlicenses tenantname:STANDARDWOFFPACK_STUDENT -LicenseOptions $StudentPlan

#License Office 365 ProPlus Student Advantage
Set-MsolUserLicense -UserPrincipalName $line.UserPrincipalName -Addlicenses tenantname:OFFICESUBSCRIPTION_STUDENT

Sample script for enabling Faculty A2:
#Import CSV File of A2 Faculty Accounts
$CSV=Import-csv faculty.csv
foreach ($line in $csv) {
write-output $line.UserPrincipalName

#These are plans we will not enable - e.g. MCOSTANDARD = Lync Online - remove -disabledplans section from script if you want to license all of A2 for students
#Refer to SKU blog for SKU and license plan names: http://aka.ms/licensescript
$disabledPlans = @()
#$disabledPlans +="MCOSTANDARD"

# Create variable for Faculty and Staff A2 standard (no Lync)
$FacA2Plan = New-MsolicenseOptions -AccountSKUId tenantname:STANDARDWOFFPACK_FACULTY -DisabledPlans $disabledPlans

# Set usage location
Set-Msoluser -UserPrincipalName $line.UserPrincipalName -UsageLocation "US"

#License using FACULTY A2 standard
Set-msoluserlicense -UserPrincipalName $line.UserPrincipalName -Addlicenses tenantname:STANDARDWOFFPACK_FACULTY -LicenseOptions $FacA2Plan

Sample script for enabling Faculty A3:


#Import CSV File of faculty and staff a3 Accounts
$CSV=Import-csv facultya3.csv
foreach ($line in $csv) {
write-output $line.UserPrincipalName

#These are plans we will not enable - e.g. MCOSTANDARD = Lync Online - remove -disabledplans section from script if you want to license all of A2 for students
#Refer to SKU blog for SKU names: http://aka.ms/licensescript
$disabledPlans = @()
#$disabledPlans +="MCOSTANDARD"

# Create variable for Faculty and Staff A3
$FacA3Plan = New-MsolicenseOptions -AccountSKUId tenantname:ENTERPRISEPACK_FACULTY -DisabledPlans $disabledPlans

# Set usage location
Set-Msoluser -UserPrincipalName $line.UserPrincipalName -UsageLocation "US"

#License using FACULTY A3
Set-msoluserlicense -UserPrincipalName $line.UserPrincipalName -Addlicenses tenantname:ENTERPRISEPACK_FACULTY -LicenseOptions $FacA3Plan


For other more advanced sample scripts on Office 365 licensing I linked to 5 very useful licensing sample scripts:

TechNet Office 365 licensing here and here. (replace Enterprise SKUs with Academic SKUs listed above)

Bulk Enable Office 365 license script samples here and by CSV file here (replace Enterprise SKUs with Academic SKUs listed above).

Assign Office 365 licenses based on Distribution Group membership found in the ‘Office 365 Helper Scripts’ here (replace Enterprise SKUs with Academic SKUs listed above)

You can also check out a new GRAPH API sample code for Education licensing here – this has been used for very large bulk enablement scenarios e.g. more than 60,000 students, etc.