I was recently asked to provide my recommendations for what to look for when you encounter an unfamiliar Exchange Server organization, for example when changing jobs to a new employer.
This is an exercise that I am currently going through myself, so this article will probably be updated over time as I think of new items to add. In fact, if you have any suggestions of your own please feel free to leave a comment below.
Exchange Environment Overview
One of the best ways I know to get a quick overview of an Exchange Server organization is to run Exchange MVP Steve Goodman’s Exchange Environment Report script.
A word of warning – the script runs fine for me in small to medium organizations, but I once ran it in an organization with about 100,000 mailboxes and the powershell.exe process consumed over 8Gb of memory on the system I was running the script from. So if you’re running this in a very large environment I recommend using an admin workstation or server for the task, not a production Exchange server.
Mailbox Size Report
I also like to dump out a list of all of the mailboxes in the organization. For this task I use my Get-MailboxReport.ps1 script, and then open the resulting CSV file in Excel and use filters and sorting to explore the data.
Usually I’m looking to get a sense of general mailbox sizes, possible VIPs, the number of stale or disabled accounts, and any exceptional items such as very large mailboxes (e.g. in an organization with an average mailbox size of 2Gb you may discover a few +50Gb mailboxes).
Message Size Limits
There are plenty of places within Exchange where size limits can be set, so I just take a look at a few of the important ones to begin with.
Organization message size limits:
[PS] C:\>Get-TransportConfig | Select-Object MaxReceiveSize,MaxSendSize | fl MaxReceiveSize : 10 MB (10,485,760 bytes) MaxSendSize : 10 MB (10,485,760 bytes)
Send Connector message size limits:
[PS] C:\>Get-SendConnector | Select-Object Name,MaxMessageSize Name MaxMessageSize ---- -------------- EdgeSync - HeadOffice to Internet 10 MB (10,485,760 bytes) EdgeSync - Inbound to HeadOffice unlimited exchangebootcamp.com 10 MB (10,485,760 bytes) winserverpro.net 10 MB (10,485,760 bytes) exchange2013demo.com 10 MB (10,485,760 bytes)
Receive Connector message size limits:
[PS] C:\>Get-ReceiveConnector | Select Server,Name,MaxMessageSize Server Name MaxMessageSize ------ ---- -------------- BR-EX2010-MB Default BR-EX2010-MB 10 MB (10,485,760 bytes) BR-EX2010-MB Client BR-EX2010-MB 10 MB (10,485,760 bytes) HO-EX2010-MB2 Default HO-EX2010-MB2 10 MB (10,485,760 bytes) HO-EX2010-MB2 Client HO-EX2010-MB2 10 MB (10,485,760 bytes) HO-EX2010-MB1 Default HO-EX2010-MB1 10 MB (10,485,760 bytes) HO-EX2010-MB1 Client HO-EX2010-MB1 10 MB (10,485,760 bytes) HO-EX2007-MB1 Default HO-EX2007-MB1 10 MB (10,485,760 bytes) HO-EX2007-MB1 Client HO-EX2007-MB1 10 MB (10,485,760 bytes) HO-EX2010-MB1 Relay 10 MB (10,485,760 bytes)
Storage Quotas
The mailbox storage quotas are interesting as well.
[PS] C:\>Get-MailboxDatabase -IncludePreExchange2010 | Select Name,ProhibitSend*,IssueWarning* Name ProhibitSendReceiveQuota ProhibitSendQuota IssueWarningQuota ---- ------------------------ ----------------- ----------------- MB-HO-01 4.3 GB (4,617,090,048 bytes) 4 GB (4,294,967,296 bytes) 3.7 GB (3,972,845,568 bytes) MB-HO-02 4.3 GB (4,617,090,048 bytes) 4 GB (4,294,967,296 bytes) 3.7 GB (3,972,845,568 bytes) MB-BR-01 4.3 GB (4,617,090,048 bytes) 4 GB (4,294,967,296 bytes) 3.7 GB (3,972,845,568 bytes) MB-HO-03 4.3 GB (4,617,090,048 bytes) 4 GB (4,294,967,296 bytes) 3.7 GB (3,972,845,568 bytes) Mailbox Database 2.3 GB (2,469,396,480 bytes) 2 GB (2,147,483,648 bytes) 1.899 GB (2,039,480,320 by... MB-HO-Archive 2.3 GB (2,469,396,480 bytes) 2 GB (2,147,483,648 bytes) 1.899 GB (2,039,480,320 by...
It is also worth having a look for any mailboxes without storage quotas.
Mail Routing Topology
I’ve already mentioned Send Connectors and Receive Connectors with regards to their message size limits. But is also pays to take a look in more detail, especially at Send Connectors, to determine what the mail flow in and out of the organization looks like. This will let you discover whether there are any non-Exchange systems involved, such an an on-premise smart host or a hosted anti-spam service.
You can also check your MX records using the tools at MXToolbox.
Exchange Database Backups
Whether you are also responsible for backups or someone else has that responsibility I always implement the Get-DailyBackupAlerts.ps1 script to check the Exchange databases each morning and alert me if any of the backups are not running for them.
Logging Configurations
I like to check the logging configurations to make sure that in the event of a problem with email delivery I the right logs available for troubleshooting:
Traffic Statistics
Speaking of good uses of log data, I also like to run a few Log Parser queries on the servers to get an idea of the typical email traffic running through the environment.
Additional Items
Here are a few other items I also take a quick look at:
- Room and Equipment mailboxes
- Public Folder usage
- Client versions
- Remote access methods (OWA, ActiveSync, Outlook Anywhere)
- Applications or devices using Exchange for SMTP relay
- DNS records (e.g. SMTP alias, public names for OWA etc)
- SSL certificates, particularly expiry dates
- Exchange Best Practices Analyzer report
My report once i created a task for it sends the report half English half Chinese. The Chinese section is only the Active Archive Size, DB Size, and DB Whitespace sections. The report if I look at it on the server or pull the file into a network share and look on my local machine it shows fine. Only when it gets sent out by the task does it give me this issue. 2010 Exchange Environment, any suggestions?
The Real Person!
The Real Person!
You’re referring to Steve’s script? I recommend posting your question on Steve’s blog as he probably won’t see it here.
Hi Paul,
i hope the mentioned script by Steve Goodman’s Exchange Environment Report script, is not altering anything , means while running the script in production environment things (config settings) are not getting change.
The Real Person!
The Real Person!
You’re asking me to vouch for Steve’s script? Not easy for me to do, we all know those Brits are shady people 🙂
PS – the script doesn’t modify anything. I recommend running it on an admin workstation that has the Exchange management tools installed, as it can consume quite a bit of memory if you’re in a large Exchange org (you can watch the powershell.exe process in Task Manager to see).
The upgrade process essentially forces you to upgrade every time, since an upgrade from 2003 to 2013 isn’t possible.
I want to upgrade a server exchange 2003 to 2013, is it possible, could you help me?
Carlos
The Real Person!
The Real Person!
No, migration from 2003 -> 2013 will not be possible. You’ll need to first migrate to Exchange 2010.
Here is some more reading on that:
https://www.practical365.com/exchange-server-2010-migration
I think connector permissions would be also very interesting:
http://technet.microsoft.com/en-us/library/jj673053.aspx
Regards,
Martin