With the shift of the client access services to the Mailbox server role in Exchange Server 2016, the Mailbox server’s role essentially encompasses data storage, mail transport, client connectivity (covered in a dedicated section in this chapter), and Unified Messaging functionalities. The primary focus of troubleshooting Mailbox servers rests on three things: database replication health, server performance, and email delivery. These aren’t the only things Mailbox servers do, of course, but they’re probably the most common troubleshooting topics. But before we get into those, let’s recap some of the standard troubleshooting techniques you should apply to a Mailbox server.
General Mailbox Server Health
When dealing with Mailbox server issues, you’ll want to perform these basic checks:
- Are all required Exchange Server services able to start as necessary?
- Do you see any errors in the event log relating to MSExchangeDatabase,
MSExchangeDatabase ⇨ Instances, or MSExchangeSubmission Mailbox? - Are there any Active Directory issues that might have a negative impact on
Exchange Server?
Obviously, the Test-ServiceHealth cmdlet would be useful in detecting basic problems, such as a dismounted database or a stopped service. The Get-ServerHealth cmdlet is also useful in detecting health issues. You can run the following command to list the current health status of the Exchange components on a server named PRD-EX1:
PS C:>Get-ServerHealth –Identity PRD-EX1 | FT Name, AlertValue
Test-ServiceHealth and Get-ServerHealth should always be the first two cmdlets you execute when troubleshooting a Mailbox server, simply because they check many areas of the environment at once.
Using Test-MapiConnectivity
Like its close cousin, Test-OutlookConnectivity, Test-MapiConnectivity will help you determine problems accessing a specific mailbox. It logs into a target mailbox (which you can specify with the –Identity parameter), the system mailbox in a specific database (which you can specify with –Database), or the system mailbox in every active database on a server (through –Server). The output for all three variants looks like the following:
PS C:>Test-MAPIConnectivity -Server Server1 MailboxServer Database Result Error ------------- -------- ------ ----- Server1 MailboxDatabase… Success Server1 MailBoxDatabase… Success PS C:>Test-MAPIConnectivity GTaylor MailboxServer Database Result Error ------------- -------- ------ ----- Server1 MailBoxDatabase… Success PS C:>Test-MAPIConnectivity -Database MailboxDatabase-001 MailboxServer Database Result Error ------------- -------- ------ ----- Server1 MailBoxDatabase… Success
For end-to-end connectivity checks, use the Test-OutlookConnectivity cmdlet. This cmdlet tests both RPC over HTTP and MAPI over HTTP connection types. For example, to test the RPC connectivity, run the following command:
PS C:>Test-OutlookConnectivity -ProbeIdentity "OutlookRpcSelfTestProbe"
Samdani Pasha
Author works as an IT Engineer in a MNC based in India. He holds 7+ years of experience in IT Cloud & Operations and would love to share his experiences. Basically, transforms his daily experience to blogs.