Show Exchange Message Size Limits in SBS 2008/2011

Full mailboxIt seems like every month I get a call about someone not being able to send or receive an email due to size limits. If you know where all the limits are in the Exchange Management Console (and if you’re aware of the 30% bloating that happens with email attachments) you can usually resolve that issue pretty quickly. If you’re new to Exchange, or a bit rusty, it might take longer.

Here’s a way to see all of your Exchange attachment limits in one screen.

Simple PowerShell Script to Show Exchange Message Size Limits

1. Copy and paste the following commands into Notepad.exe:

get-transportconfig | ft maxsendsize, maxreceivesize
get-receiveconnector | ft name, maxmessagesize
get-sendconnector | ft name, maxmessagesize
get-mailbox |ft Name, Maxsendsize, maxreceivesize

2. Save that text document with a .PS1 file extension, and you now have your PowerShell file. I named my file “email_limits.ps1”.

Example contents of file email_limits.ps1:Contents of file email_limits.ps1

Note: You can reuse this .PS1 file on any SBS 2008 (Exchange 2007) or SBS 2011 (Exchange 2010) servers.

3. Copy that file to your SBS server in a folder on the C: or D: drive.
I use a folder called “Scripts” on the D: drive.

4. Right-click the Exchange Management Shell and Run as Administrator.
Open Exchange Management Shell using Run as administrator
(Say Yes to any User Account Control prompt, if needed.)

5. In the Powershell window type the name of your .PS1 file (including the full path) and hit Enter.
Example: D:\scripts\email_limits.ps1

RESULTS

Example 1
SBS 2008 / Exchange 2007 (showing increased limits for a true 20 MB)*
Output of email_limits.ps1 on SBS 2008 / Exchange 2007

Example 2
SBS 2011 / Exchange 2010 (w/ factory defaults)
Output of email_limits.ps1 on SBS 2011 / Exchange 2010

*As you can see from Example 1, the Fax connector is still set at 10 MB, but the other limits have been changed to 29257 KB to allow for true 20MB attachments with the attachment bloating.
Formula for calculating overhead: (x MB * 1024) /.70 = limit in KB
Example: (20 MB x 1024) /.70 = 29257KB

Of course, you can also use PowerShell to change the limits, but I don’t have a script saved for that because the Set-ReceiveConnector, Set-SendConnector, etc.  commands require that the server name be included in the script.
Example: Set-ReceiveConnector “Windows SBS Internet Receive Servername” –MaxMessageSize 29MB

If I need to change the limits, I still just go old school and use the GUI in the Exchange Management Console.

Remember – there are four common places in Exchange where the email attachment size could be limited:

  1. Transport limit
  2. Receive limit
  3. Send limit
  4. Mailbox limit

We’ll show you where each one of those is located.

Exchange 2007 / 2010 Management Console Size Limit Locations

  • 1. Transport Limit

    Exchange Management Console | Organization Configuration | Hub Transport | Global Settings | Transport Settings | Properties | General | Transport Limits

    Attachment limit for Exchange Transport settings

    Note: a blank transport limit box means ‘unlimited’.

  • 2. Receive Limits
    (In SBS 2008 or 2011 there are typically 3 Receive Connectors)

    Location of Exchange 2010 Receive Connectors

    Exchange Management Console | Server Configuration | Hub Transport | Receive Connectors | right-click the receive connector | Properties | General | Maximum Message Size (KB)

    Attachment limit for Exchange Receive settings

    Note: The “Default {servername}” is your internal / .local connector.
    The “Windows SBS Internet Receive {servername}” is your external / .com connector. You’ll notice the difference in the Properties window on the FQDN line – one is .local and the other is .com/.org/etc.

    Also, regarding the internal connector, you may sometimes need to increase your “Default {servername}”(.local) connector to accommodate on-site scanners / multi-function copiers that scan to PDF and email internal employees. If so, this is where you do it. Just make sure the employees can receive attachments that large.

  • 3. Send Limit

    Exchange Management Console | Organization Configuration | Hub Transport | Send Connectors | Windows SBS Internet Send {servername} | Properties | General | Maximum Message Size (KB)

    Attachment limit for Exchange Send connector

  • 4. Mailbox Limits

    Exchange Management Console | Recipient Configuration | Mailbox | {username} | Properties | Mail Flow Settings | Message Size Restrictions | Properties | Maximum Message size (in KB)

    image

    Message size limits per for an individual user

    Note: a blank message size limit box means ‘unlimited’, but the user will still be restricted by the other the limits (shown in 1-3 above).

Bottom line: Use the sample .PS1 script to quickly make sure that all limits are set properly. Life is too short to dig through the GUI and check 4 or 5 locations manually if you don’t have to.

If you have any feedback or helpful PowerShell scripts that relate to email limits in Exchange 2007 or 2010, please feel free to post them in the comments.

More details: Official SBS Blog

VN:F [1.9.20_1166]
Rating: 10.0/10 (24 votes cast)

SBS 2008 View User OWA Enabled/Disabled Status

Some people like to turn off Outlook Web Access (OWA) for certain employees for security reasons. Of course, you can individually double-click users in the console to see if OWA is enabled…

OWA status per-user via the SBS 2008 console

…or via the Exchange Management Console…

OWA status in the Exchange 2007 Management Console

…but there is no speedy way in the SBS 2008 console to get a master list of the OWA status for all users.

Fortunately, there’s a quick and easy way with a simple PowerShell cmdlet.

To see OWA status for all users:

  • Click Start
  • All Programs
  • Microsoft Exchange Server 2007
  • Exchange Management Shell
  • Copy the following PowerShell cmdlet to your clipboard:

Get-CASMailbox | ft DisplayName, OWAEnabled

  • And paste it into the Management Shell window:

Past the cmdlet into the PowerShell window to see a list of OWA status for users

That will give you an output similar to the following which shows the OWA status for ALL users:

Output of the PowerShell cmdlet - OWA Status

Voilà, the OWA status master list!

But it doesn’t stop there. You can also add the fields SamAccountName and ActiveSyncEnabled to add depth your report.

Below are some other options with PowerShell cmdlets you might like.

Export above report to a CSV file:

Get-CASMailbox | Select Name, OWAEnabled | Export-CSV c:\file.csv

See OWA Enabled users only:

Get-CASMailbox | where { $_.OWAEnabled } | ft DisplayName, OWAEnabled

See OWA Disabled users only:

Get-CASMailbox | where { !$_.OWAEnabled } | ft DisplayName, OWAEnabled

See ActiveSync Enabled users only:

Get-CASMailbox | Where-Object { $_.ActiveSyncEnabled } | ft DisplayName, SamAccountName, ActiveSyncEnabled

See ActiveSync Disabled users only:

Get-CASMailbox | Where-Object { !$_.ActiveSyncEnabled } | ft DisplayName, SamAccountName, ActiveSyncEnabled

**One of my personal faves**
See both the ActiveSync and OWA status for all users:

Get-CASMailbox | ft DisplayName, SamAccountName, ActiveSyncEnabled, OWAEnabled

See ActiveSync information for a particular user:

Get-ActivesyncDeviceStatistics -Mailbox mailboxname

PowerShell output showing Activesync mobile device info

Source: TechNet Exchange 2007 Library

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

SBS 2008 View All Mailbox Sizes

Do you miss the handy “Mailboxes” view from SBS 2003 that showed you how big the mailboxes are in Exchange 2003?

Old school Exchange 2003 Mailboxes view in SBS 2003

Unfortunately, the Exchange 2007 Management Console in SBS 2008 doesn’t come with that nice handy feature baked into the console. But you can still get that information using (gasp) PowerShell. It’s as easy as just copying and pasting.

  • Click Start
  • All Programs
  • Microsoft Exchange Server 2007
  • Exchange Management Shell
  • Copy the following PowerShell cmdlet to your clipboard:

Get-MailboxStatistics | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}},ItemCount

  • And paste it into the Management Shell window:

Paste the cmdlet into the PowerShell Management Shell

  • Then hit Enter.

That will give you an output similar to the following:

List of mailbox sizes in Exchange 2007 via PowerShell

It’s basically the same info as SBS 2003/Exchange 2003, but not as pretty.

Source: TechNet Exchange Forum

VN:F [1.9.20_1166]
Rating: 9.0/10 (3 votes cast)