We have seen many changes to Office 365 but Office 365 Education changes even more as Microsoft given more free services to education establishment worldwide. Back in September 2015, Microsoft gave some of the E3 features to Office 365 and renamed the license from Office 365 E1 for Student (Faculty) to Office 365 Education for Student (Faculty), still free.
During the announcement around making the Office client available through Office 365, better known as Office 365 Pro Plus, Microsoft made it easy for students and teachers to get the software by asking for their email address and check their licensing records to then give them Office 365 Education.
You may have noticed this added over 1.5 million licenses to your tenant allowing you to change all your users to this new license. This license is now called the Office 365 Education PLUS for Student (Faculty) license.
So you now have the ability to give all your students and staff Office 365 Pro Plus as you have these licenses added to your tenant, but to assign them to each of your users is time consuming and you may already have disabled other plans such as Skype for Business. Something that can be time consuming.
The below script runs and checks to see what services are assigned to each user, removes the current license and then add the Plus license with the same disabled features as previous. It will also check to see if their currently have a faculty or student license and ensure the right one is licensed.
You will need the Azure AD PowerShell install to make this run and also connected to your tenant (Connect-MSOLService).
$users = Get-MsolUser -MaxResults 10000 | Select-Object -property UserPrincipalName -ExpandProperty Licenses foreach ($user in $users){ $UPN = $user.userprincipalname $useraccount = get-msoluser -UserPrincipalName $UPN $licensetype = $useraccount.Licenses.accountskuid $licensesassigned = $useraccount.Licenses.servicestatus write-host ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ write-host ~~~~ Now Starting on $UPN ~~~~ write-host "The following licenses are disabled on this account" $disabledPlans= @() foreach ($line in $licensesassigned) { if ($line.ServicePlan.ServiceName -eq "SWAY" -and $line.ProvisioningStatus -eq "Disabled") {Write-Host $line.ServicePlan.ServiceName "Disabled" -BackgroundColor DarkRed} if ($line.ServicePlan.ServiceName -eq "SHAREPOINTWAC_EDU" -and $line.ProvisioningStatus -eq "Disabled") {Write-Host $line.ServicePlan.ServiceName "Disabled" -BackgroundColor DarkRed} if ($line.ServicePlan.ServiceName -eq "MCOSTANDARD" -and $line.ProvisioningStatus -eq "Disabled") {Write-Host $line.ServicePlan.ServiceName "Disabled" -BackgroundColor DarkRed} if ($line.ServicePlan.ServiceName -eq "SHAREPOINTSTANDARD_EDU" -and $line.ProvisioningStatus -eq "Disabled") {Write-Host $line.ServicePlan.ServiceName "Disabled" -BackgroundColor DarkRed} if ($line.ServicePlan.ServiceName -eq "EXCHANGE_S_STANDARD" -and $line.ProvisioningStatus -eq "Disabled") {Write-Host $line.ServicePlan.ServiceName "Disabled" -BackgroundColor DarkRed} ############################################### if ($line.ServicePlan.ServiceName -eq "SWAY" -and $line.ProvisioningStatus -eq "Disabled") { $disabledPlans +="SWAY"} if ($line.ServicePlan.ServiceName -eq "SHAREPOINTWAC_EDU" -and $line.ProvisioningStatus -eq "Disabled") { $disabledPlans +="SHAREPOINTWAC_EDU"} if ($line.ServicePlan.ServiceName -eq "MCOSTANDARD" -and $line.ProvisioningStatus -eq "Disabled") { $disabledPlans +="MCOSTANDARD"} if ($line.ServicePlan.ServiceName -eq "SHAREPOINTSTANDARD_EDU" -and $line.ProvisioningStatus -eq "Disabled") { $disabledPlans +="SHAREPOINTSTANDARD_EDU"} if ($line.ServicePlan.ServiceName -eq "EXCHANGE_S_STANDARD" -and $line.ProvisioningStatus -eq "Disabled") {$disabledPlans +="EXCHANGE_S_STANDARD"} } Set-MsolUserLicense -UserPrincipalName $UPN -RemoveLicenses $licensetype if ($licensetype -like "*STUDENT*"){ write-host "This user has a student license" $FullFrictionFreeLicense = Get-MsolAccountSku | Where-Object {$_.AccountSKUID -like "*STANDARDWOFFPACK_IW_STUDENT*"} } if ($licensetype -like "*FACULTY*") { write-host "This user has a faculty license" $FullFrictionFreeLicense = Get-MsolAccountSku | Where-Object {$_.AccountSKUID -like "*STANDARDWOFFPACK_IW_FACULTY*"} } $License = New-MsolLicenseOptions -AccountSkuId $FullFrictionFreeLicense.AccountSkuId -DisabledPlans $disabledPlans; $info = Set-MsolUserLicense -UserPrincipalName $UPN -AddLicenses $FullFrictionFreeLicense.AccountSkuId -LicenseOptions $License ###test $testuseraccount = get-msoluser -UserPrincipalName $UPN $testlicensetype = $useraccount.Licenses.accountskuid if ($testlicensetype -like "*STANDARDWOFFPACK_IW*") { write-host "Success" -BackgroundColor DarkGreen} ELSE {write-host "FAILED" -BackgroundColor Red} write-host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" write-host "" }
Great little article – are Microsoft starting to give the Faculty and Students Office 365 Edu Plus Licenses free to schools. We have noticed one of our Office 365 School Tenancies has now got Office 365 Education Plus for students – previously schools have to purchase a volume License agreement.
I can not find any other documents to say the license is now free to all Education accounts?
Nic,
Sorry for the late reply but the reason you are seeing the Office 365 Education Plus licenses is because a student or teacher has requested Office 365 Pro Plus through the friction free method. More details below or happy to chat on the phone if you would like.
Hello Alex,
Your blog is very helpful, thanks. I have a question, we had a subdomain (subdomain.contoso.com) which we were using for students for google apps. As you mentioned, someone requested Student Education plus using subdomain and a tenant was automatically created but it seems like now I am stuck with keeping up with two tenants? contoso.com which we use for faculty and staff, and subdomain.contoso.com? I tried adding subdomain to my contoso.com but it threw an error.
Do you have any suggestions as to how we can consolidate two tenants.
Thanks
You will need to remove the domain from the second domain and add it to the your central tenant. The only thing this will effect are users who are not created in your new tenant (maybe create all your student accounts in your other tenant and give them a pro plus license) meaning when you remove the domain, they have 30 days to re login into office. Doing it sooner rather than later will also help as you will have less users impacted.
Thank you Alex,
That was a good pointer and lead me to further research, if any one else is in similar situation they can use this very detailed scenario based solutions.
Thanks
https://support.office.com/en-gb/article/How-to-manage-a-domain-already-in-use-by-people-in-your-organization-who-signed-up-with-their-work-or-school-email-address-b9707ec8-2247-4e25-9bad-f11ddbc686e4?ui=en-US&rs=en-GB&ad=GB