Office 365 Increase Inbox ‘Rules Quota’ limit

Only Office 365 Tenant Admins can increase the ‘Rules Quota’ limit for their users, a user himself without the Administrator rights/permissions cannot increase his rules limit.

You will need to use Windows PowerShell in Exchange Online to do this.

  1. Install and configured Windows PowerShell and Windows Remote Management (WinRM) on your computer.
  2. Connect the Windows PowerShell on your local computer to the cloud-based service to perform tasks in your cloud-based organization.
  3. Click Start, point to All Programs, click Accessories, click Windows PowerShell, and then click Windows PowerShell.
  4. Run the following command: $LiveCred = Get-Credential
  5. In the Windows PowerShell Credential Request window, type the credentials of an account in your cloud-based organization. Then, click OK.
  6. Run the following command: $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic –AllowRedirection
  7. Run the following command: Import-PSSession $Session
  8. Current Rules Quota Limit

To determine the current ‘Rules Quota’ limit for a user or mailbox, run the following command in the Windows PowerShell module:

get-mailbox -identity <mailbox> | fl *rulesquota*

Where <mailbox> could be the user’s UPN (User Principal Name) or full e-mail address, like john@contoso.onmicrosoft.com as in the example below.

get-mailbox -identity john@contoso.onmicrosoft.com | fl *rulesquota*

The output you can expect to see will be:

RulesQuota : 64 KB (65,536 bytes)

This is the default ‘Rules Quota’ limit for all users in Office 365.

  1. Increase Rules Quota Limit

To increase ‘Rules Quota’ limit for a particular user or mailbox, run the following command in the Windows PowerShell module:

  1. set-mailbox -identity <mailbox> -RulesQuota <xxx>kb
  2. where <mailbox> could be the user’s UPN (User Principal Name) or full e-mail address, like john@contoso.onmicrosoft.com & you can replace <xxx>kb with an appropriate size that you desire for that user, like 150kb, as in the example below.
  3. set-mailbox -identity john@contoso.onmicrosoft.com -RulesQuota 150kb

The maximum ‘Rules Quota’ limit allowed for a user or mailbox is 256KB.

  1. Disconnect Windows PowerShell from the cloud-based service
  2. When you’re finished using the server-side session, always disconnect Windows PowerShell by running the following command: Remove-PSSession <session variable> For example, to disconnect from the server-side session that is defined by the $Session variable, run the following command: Remove-PSSession $Session
  3. Important   If you close the Windows PowerShell window without disconnecting from the server-side session, your connection will remain open for 15 minutes. Your account can have only three connections to the server-side session at one time.

Example:

Windows PowerShell

Copyright (C) 2013 Microsoft Corporation. All rights reserved.

PS C:\Users\guy.naftaly> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection

WARNING: Your connection has been redirected to the following URI: “https://pod51048psh.outlook.com/powershell-liveid?PSVersion=4.0

PS C:\Users\guy.naftaly> Import-PSSession $Session

WARNING: The names of some imported commands from the module ‘tmp_1fjp3qw5.v5z’ include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a

list of approved verbs, type Get-Verb.

 

ModuleType Version    Name                                ExportedCommands

———- ——-    —-                                —————-

Script     1.0        tmp_1fjp3qw5.v5z                    {Add-AvailabilityAddressSpace, Add-DistributionGroupMember, Add-MailboxFolderPermission, Add-MailboxPermission…}

 

PS C:\Users\guy.naftaly> get-mailbox -identity xxx@xxx.com | fl *rulesquota*

RulesQuota : 64 KB (65,536 bytes)

 

PS C:\Users\guy.naftaly> set-mailbox -identity xxx@xxx.com -RulesQuota 256kb

PS C:\Users\guy.naftaly> Remove-PSSession $Session

PS C:\Users\guy.naftaly>

Links:

http://community.office365.com/en-us/w/exchange/2490.aspx

http://help.outlook.com/en-us/140/cc952755.aspx

 

Getting Mailbox Sizes in PowerShell

In earlier versions of Exchange, we could look in the Exchange console and see mailbox sizes on a per database basis. Not bad, but better than what we have in the Exchange 2007 GUI.

Fortunately, we can use PowerShell to see the information we need. And, we have more control over how the information is displayed, as well as what information is displayed. Let’s fire up PowerShell and get started.

We can use the Get-MailboxStatistics cmdlet and supply a username like this:

Get-MailboxStatistics [username]

This shows the DisplayName, ItemCount, StorageLimitStatus, and LastLogonTime fields for the specified user.

But that doesn’t show what we need. We can have the cmdlet display just specific fields, such as DisplayName, ItemCount, and TotalItemSize, which will show the size of the mailbox. For that, we use the FT command, short for Format-Table, along with the fields we want.

Get-MailboxStatistics [username] | ft DisplayName, TotalItemSize, ItemCount

This shows us the size of the mailbox in bytes, as well as the number of items, and the username.

Showing data for all users

Now that we can see the specific fields, we can remove the [username] parameter and the command will show us the information all users.

Filtering results

As you can see, this will show us system mailbox sizes as well, which probably doesn’t do us any good. So let’s filter them out.

We add | where {$_.ObjectClass –eq “Mailbox”} right after Get-MailboxStatistics to help.

Note – that’s a pipe at the beginning. This code essentially says to only display those objects classified as mailboxes. From that, we get a cleaner list.

Sorting results

So that shows us all of the users and their sizes, but they appear in a random, unsorted order, which doesn’t do anyone any good. In PowerShell, we can sort using the Sort-Object cmdlet. Right after our filter, we add

| Sort-Object TotalItemSize –Descending

 

This tells PowerShell to sort according to the TotalItemSize parameter (the size of the mailbox) of the Get-MailboxStatistics results, in descending order.

Via Getting Mailbox Sizes in PowerShell.