Exchange Online Clutter

Clutter is a new productivity aid in Exchange Online that helps save you time by separating your important messages from the rest of the muck that you get on a daily basis. A description of how this feature works can be found here. Clutter is optional and can be enabled by users should they choose to use the service.

Microsoft believes in Clutter so much, however, that they have decided to make it available by default on all new Exchange Online mailboxes starting in June. If this timeline doesn’t work for your organization, or you would rather give your users the choice to turn Clutter on, there are some new PowerShell cmdlets that you can leverage.

First, some prerequisites:

1. You need to have an account that has at least the Exchange Service Administrator role in Office 365 and the ability to connect to Exchange Online with PowerShell. Instructions to connect can be found here. I also have a module on GitHub that can make working with Exchange Online and other Office 365 services a bit easier.

2. The Clutter cmdlets will only work on server version 15.1 (Build 166.22). To manage Clutter with PowerShell, both the server that you connect to via PowerShell and the server that the mailboxes you are managing must be updated to this version. Microsoft is working to make sure that all Exchange Online servers are updated as quickly as possible, but you may still have some mailboxes that are on a prior version. If this is the case you will get an error when targeting those mailboxes with the Clutter cmdlets:


Turning Clutter Off

There is currently no way to disable Clutter from being on by default for your entire tenant – you will have to do this for all your mailboxes now and for any new mailboxes that you don’t want to have Clutter turned on for.  You can disable Clutter manually for a mailbox by running the Set-Clutter cmdlet:

Get-Mailbox 'Abe Lincoln' | Set-Clutter -Enable $false

Or you can disable it for all mailboxes:

Get-Mailbox -Filter * -ResultSize Unlimited | Set-Clutter -Enable $false

However, some of your users may have already enabled Clutter and you won’t want to disable it for them. In this case you will want to filter your mailbox results to only the mailboxes that don’t already have Clutter enabled:

Get-Mailbox -Filter * -ResultSize Unlimited | Foreach {
    $DN = $_.DistinguishedName
    $Status = Get-Clutter -Identity $DN | Select -ExpandProperty isEnabled
    if (!$Status)
        Set-Clutter -Identity $DN -Enable $false

You can fully automate disabling Clutter for your current mailboxes here. Make sure you unblock the script and then run:

Get-Help .\DisableClutterOnByDefault.ps1 -ShowWindow

for details on how to use the script.

Moving Forward

After you have run the above commands to disable the Clutter for the desired mailboxes, you’ll need a plan to sustain this policy for future mailboxes. If you automate mailbox creations with PowerShell, then you’ll need to run Set-Clutter against each one to disable Clutter by default. At some point you may want to embrace the on by default strategy and make your users aware of the change. At that point you can just allow new mailboxes to have this enabled.