July 14, 2026 Stories worth reading. Perspectives worth sharing.
Office365 | M365

Get a list of shared mailboxes that are accidentally licensed

mo wasay March 16, 2016 1 min read

We know that in a hybrid scenario or during migration all shared mailboxes are migrated as a user account and then converted in a shared mailbox.

Sometimes admin forget to remove the license for the shared box after conversion and there is no GUI alternative to see if the shared mailbox is licensed. Shared mailbox in Office365 do not require a license.

To find out what shared mailboxes are “accidentally” licensed:

#Connect to Office365
Import-Module MSOnline
$O365Cred = Get-Credential
$O365Session = New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $O365Cred -Authentication Basic -AllowRedirection
Import-PSSession $O365Session

#To view summary information about your current licensing plans and the available licenses for each plan
Get-MsolAccountSku

#Find out shared mailboxes that are licensed
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox | Get-MsolUser | Where-Object { $_.isLicensed -eq "TRUE" }

#Find out shared mailboxes that are licensed and remove them
#You need to supply your licensing plan name to remove licenses
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox | Get-MsolUser | Where-Object { $_.isLicensed -eq "TRUE" } | foreach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -RemoveLicenses "yourlicenseplan:ENTERPRISEPACK"}