Category Archives: Exchange Server

Message moderation for mailboxes

Exchange 2010 features the ability to moderate message flow to any recipient. This means that I can divert an incoming message to another user (the moderator) who can either reject the message to prevent delivery or approve the message to allow delivery.

The Exchange 2010 Management Console allows you to manage  moderation for Distribution Groups and Dynamic Distribution Groups, but not user Mailboxes. Moderation of messages addressed to people can be set up with Transport rules, but I was curious to see if it could be done directly on the user’s Mailbox. 

As is usually the case with Exchange 2010, it’s best to try do it in the Exchange Management Shell before assuming that it can’t be done. After a bit of detective work on the Set-Mailbox cmdlet help page on TechNet I found the answers.

To enable moderation for an existing mailbox, use the following cmdlet;

Set-Mailbox -id “Name of User” -ModerationEnabled $true -ModeratedBy “Name of Moderator”

Remember this all needs to keyed in as one command.

You can also enable moderation when creating new mailboxes by adding the ModerationEnabled and ModeratedBy switches.

Once you’re done you can admire your handiwork by using the following cmdlet, which will deisplay all the moderated Mailboxes and who moderates them;

Get-Mailbox |  where {$_.ModerationEnabled -eq $true} | Format-Table Name, ModeratedBy

If you decide that a mailbox should not be moderated you can use the following cmdlet;

Set-Mailbox -id “Name of User” -ModerationEnabled $false

Happy moderating!


No Single Instance Storage on Microsoft Exchange 2010.

You may or may not know that Exchange 2010 no longer supports Single Instance Storage (SIS). Simply put, SIS saved space in Exchange databases by only storing a single instance of messages and attachments that were sent to multiple recipients.

The feature was introduced in Exchange 4.0 when (according to Microsoft) the target audience for Exchange was the small department who needed an email system that was unlikely to have more than one database. Also, at that time hard disk space was much more expensive than it is now.

Fast forward to the present and Exchange is a very different beast. Now aimed more at enterprises, Exchange typically holds multiple databases per server and those servers have much more memory and cheaper disks. On top of that, Microsoft needed to make several changes to the internal architecture of the Exchange database to support certain scalability and high availability features… features that were inherintly incompatible with SIS. So in Exchange 2007 Microsoft deprecated SIS to only store single instances of attachments, and in Exchange 2010 they removed the feature altogether. To mitiagte the increase in mailbox sizes Microsoft points to the cheap cost of storage (since SATA disks are now supported) and the fact that they have improved the compression of message bodies and headers, resulting in typical databases sizes on par with those of Exchange 2007.

Where does this leave Exchange administrators? As ever, the answer is “it depends”… let’s consider the following scenarios;

  • Currently running legacy Exchange (4.0 through 2003) –  significant increase in mailbox database sizes possible when you migrate your mailboxes to Exchange 2010.
  • Currently running Exchange 2007 – no increase in mailbox database size expected when you migrate to Exchange 2010.

Another point Microsoft takes some pains to make is that they have never advised that you factor SIS into your database capacity planning. True this may be, but it’s always an emotive issue when a feature that was marketed as being an awesome unique selling point is discarded. Even if those who complain the loudest about it are seldom able to quantify how much space it was saving them.

For the original (technically detailed) article that I based this blog on, visit the Exchange Team Blog. Be sure to scroll down and read the comments also for some enlightening debate on the subject.