Most companies have specific requirements when it comes to the mailboxes of their users, such as limiting the size of a mailbox. My employer for example had 200MB ones until last year, and upped them to 2GB. With Exchange Online’s whooping 50 GB quota, it’s no wonder that almost everyone is running PowerShell script to adjust it as part of the mailbox provisioning process.
Other commonly configured settings are security/compliance related ones and the maximum size for messages. Well, in Exchange Online obviously there are some restrictions on what you can adjust, and sadly, there are very few settings are available via the Set-MailboxPlan cmdlet:
IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota, RoleAssignmentPolicy, RetainDeletedItemsFor
The other parameters and Plan related cmdlets, including the much desired Set-CASMailboxPlan, are entirely unavailable. But still, it might save you some time if you simply preconfigure some of these options in your Exchange Online organization. Here’s how to do it.
First of all, get the list of all the available Mailbox Plans and the relevant settings:
Get-MailboxPlan | ft alias,IssueWarningQuota,ProhibitSendQuota,ProhibitSendReceiveQuota,RoleAssignmentPolicy,RetainDeletedItemsFor
You might also want to check which is the default plan, as any changes to it will be automatically applied to all new mailboxes you create:
Get-MailboxPlan | ft Alias,isDefault
Once you have identified the default plan and decided which changes you want to make, you can adjust them using the Set-MailboxPlan cmdlet:
Set-MailboxPlan planGUID -ProhibitSendReceiveQuota 9.75GB -ProhibitSendQuota 9.5GB -IssueWarningQuota 9GB -RetainDeletedItemsFor 30
For completeness, here are all the other parameters of Set-MailboxPlan, sadly many of the useful ones are not available: