Exchange Health Check – How To Notes

A quick listing of some useful links and notes for purposes of conducting an Exchange Health Check analysis!

Health Check Topics

Exchange Health Check Article ID: 982911

Topology Concerns:
Cities; locations and IP addresses of firewalls, Domain Controllers and Exchange Servers; bandwidth and latency of site links; subnets; Active Directory and Exchange topology; site link costs; number of users

Exchange Hardware and Load Concerns:
Number of mailboxes; usage patterns of the mailboxes (heavy, light, medium); Exchange Server version, service pack and rollup level; driver versions for all devices; item counts in mailbox folders; disk subsystem and RAID; disk partitions for databases, logs and O/S files; RAM for Exchange server; other products or roles installed on Exchange server; Exchange roles installed on the server; behind a firewall or in a perimeter network

Backup Concerns:
High availability solution; database backups done regularly; how long does the backup take; can the backup be restored in the time allowed by your SLA; testing for ability to restore and rebuild the server periodically

Exchange Server questions:
Version of the O/S including SP level; number of Administrative Groups (Exchange 2003); name of the Exchange Server(s); hardware manufacturer & model of the server(s); Anti-Virus software; how many Exchange Server 2003 Front End servers; how many Exchange Server 2003 Back End servers; how many Exchange Server 2007/2010 Edge role servers; how many Exchange Server 2007/2010 Mailbox role servers; how many Exchange Server 2007/2010 CAS role servers; how many and what kind of High Availability solutions have been deployed

Client-side questions:
Outlook client version(s) & service pack(s); Outlook running in Exchange cached mode or online mode; 3rd party add-ins in Outlook

Networking related questions:
Exchange servers on the same network or separated by a WAN (remote); network devices between the Exchange servers, i.e. routers, firewall, etc.; what network card and driver is installed on the Exchange servers; NICs teamed

Software related questions:
Recent changes in the environment including servers removed, network changes, group policy changes, software updates, security patches, …; do Exchange admins have the ability to install software on the Exchange server

Health Check Tools and Sizing

Exchange Server Health Script (Exchange 2010)
Download the Test-ExchangeServerHealth.ps1 script and – in EMS – run:
.\Test-ExchangeServerHealth.ps1 –reportmode $true –sendemail $true
Note: Variables are configured inside the script under ‘Email Settings’

vCheck Health Script for Exchange (Exchange 2010)
Runs via the EMS. Download and unblock the zip via Properties – General tab for “This file came from another computer…”
Set-ExecutionPolicy Unrestricted

v19.9 of the Exchange 2010 Mailbox Server Role Requirements Calculator
And along the same lines see: Exchange 2010 Sizing Cheat Sheet

Fig. 1: CAS/HUB/GC to Mailbox ratios

Fig. 2: Exchange 2010 Roles, Cores, and Memory

Exchange Best Practices Analyzer

Exchange Best Practices Analyzer v2.8 (Exchange 2003)
Note i: Exchange Best Practices Analyzer v2.8 should not be used to scan Exchange Server 2007 and Exchange Server 2010. In Exchange Server 2007 and Exchange Server 2010, the Best Practices Analyzer is installed during Exchange Setup and can be run from the Exchange Management Console Toolbox (the option to export is found via ‘Select a Best Practices scan to view – Export this scan’)

Microsoft Exchange Best Practices Analyzer Web Update Pack (Exchange 2003)

Microsoft Exchange Troubleshooting Assistant v1.1 (Exchange 2003)

Configuration Guides

How to Install an Exchange Server 2010 Client Access Server (CAS) Array using Windows Network Load Balancing (WNLB)
Recommends: 2 interfaces per CAS on the same network, Unicast, and more!

Exchange Server 2010 load balancer deployment
Note: Hardware load balancers are recommended over WNLB

Exchange Server 2010 Database Availability Group (DAG) Installation Step by Step
Recommends: Separate NIC for MAPI traffic, and Replication traffic. Untick ‘Register this connection’s address in DNS on the Replication NIC. Disable replication on the MAPI network. And more!
Note 1: The NIC used for replication traffic will typically not have a default gateway but can use a static route to in multi-site, multi-subnet DAG environments.
Note 2:  Replication NIC uncheck – Client for Microsoft Networks, File and Printer Sharing for Microsoft Networks, (optional – IPv6, QoS Packet Scheduler)
Note 3: Advanced Settings – Prod Network should be first in the binding order

Exchange 2010 Site Resilient DAGs and Majority Node Set Clustering – Part 2
Useful primer on DAG design

Fig. 3: Example 3 Node DAG down scenario


26 things I shouldn’t forget about Exchange 2010 DAG, nor should you! RECOMMENDED

The 17 biggest mistakes made in Exchange 2010 Deployments.

Troubleshooting Tools

Description of the Isinteg utility (Exchange 5.5, 2000, 2003, 2007)
Isinteg is a utility that searches through an offline information store for integrity weaknesses. You can also repair issues that Isinteg detects. Isinteg is run at a command prompt.

Eseutil (Exchange 2003, 2007, 2010)
The Exchange Server Database Utilities (Eseutil.exe) is a tool that you can use to verify, modify, and repair an Exchange database file. Runs from command prompt!
To check status> Eseutil /mh “D:\PATH\DB.edb”
To fix (if dirty shutdown)> Eseutil /p “D:\PATH\DB.edb”
To check logs> Eseutil /ml “L:\LOGPATH\E00”
Note: A E00.log file reporting as corrupt is best fixed by restoring from backup – if this is not an option and transaction log roll-back is not required, can move/delete all the contents of the logs folder (an auto-DB will autostart and repopulate that folder.)

Resources for Exchange 2003 to Exchange 2010 Coexistence and Decommissioning Exchange 2003

Command Reference (Exchange 2010)

How to Obtain DAG Information:
Get-DatabaseAvailabilityGroup | FL
Test-replicationhealth | FL
Get-mailboxdatabase | get-mailboxdatabasecopystatus
Get-mailboxdatabase | get-mailboxdatabasecopystatus –connectionstatus | fl | more

Try repairing copy:
Test-ReplicationHealth –Identity “DB_name”
Suspend-MailboxDatabaseCopy –Identity “db_name\server”
Update-MailboxDatabaseCopy –Identity “DB_name\Server” –DeleteExistingFiles

How to Decrease Exchange 2010 DAG Failover Sensitivity:
cluster /prop
cluster /prop SameSubnetDelay=2000:DWORD
cluster /prop CrossSubnetDelay=4000:DWORD
cluster /prop CrossSubnetThreshold=10:DWORD
cluster /prop SameSubnetThreshold=10:DWORD

Blocking automatic activation in DAGs
Set-MailboxServer –Identity – DatabaseCopyAutoActivationPolicy Blocked
Set-MailboxServer –identity –DatabaseCopyAutoActivationPolicy Unrestricted
Suspend-MailboxDatabaseCopy –identity \ –ActivationOnly
Resume-MailboxDatabaseCopy –identity \

Public Folders:
Get-PublicFolder -Identity \ -Recurse | FL Name,Replicas > C:\Replicas.txt
Get-PublicFolder -Identity \ -Recurse | Update-PublicFolder
Note: The above is one of 3 ways to get public folders to replicate (others being adding an item to the folder, or removing the replica from Exchange 2010 and re-adding)

Public Folder Migration (Exchange 2010) – run from EMS (or CMD using .ps1 extension):
C:\Program Files\Microsoft\Exchange Server\V14\Scripts
.\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\" -ServerToAdd "Exchange2010"
Note 1: Can I re-run the pfmigrate and AddReplicateToPFRecursive scripts – yes you can!
Note 2: If you don’t want all the public folders, can change the –TopPublicFolder “\” to folder name but must additionally do
.\AddReplicaToPFRecursive -TopPublicFolder "\NON_IPM_SUBTREE\" -ServerToAdd HOSTNAME
Note 3: Moving replicas to Exchange Server is done via:
.\MoveAllReplicas.ps1 -Server "Exchange2003" -NewServer "Exchange2010"

Public Folder Migration (Exchange 2003):
From D:\support\Exdeploy
To obtain a report> pfmigrate.wsf /S:OLDSERVERNAME /T:NEWSERVERNAME /R /F:c:\LOGNAME.log
To replicate System Folders> pfmigrate.wsf /S:OLDSERVERNAME /T:NEWSERVERNAME /SF /A /N:10000 /F:c:\LOGNAME.log
To replicate Public Folders> pfmigrate.wsf /S:OLDSERVERNAME /T:NEWSERVERNAME /A /N:10000 /F:c:\LOGNAME.log
To remove replicas from Exch 2003> pfmigrate.wsf /S:OLDSERVERNAME /T:NEWSERVERNAME /D
Note 1: PFMIGRATE is an Exchange 2003 Tool, for 2007 to 2010 use AddReplicaToPFRecursive.ps1 script
Note 2: Public folder replication uses SMTP, so – for any problems replicating – be sure to check your SMTP configuration!

Moving mailboxes:
New-moverequest –identity ‘’ –targetdatabase “DBNAME” –BadItemLimit 1000 –AcceptLargeDataLoss
Resume-moverequest –identity ‘’
Remove-moverequest –identity ‘’
New-MailboxRepairRequest -Mailbox -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView
New-MailboxRepairRequest -Database “Name of database to be fixed” -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView

General Exchange References

Exchange Server Pro

Exchange 2010 DAG

Technet – Exchange 2013

Technet – Exchange 2010

Technet – Exchange 2007

Technet – Exchange 2003

Miscellaneous Notes

Problem: DAG Cluster Core Resources – Status Offline and IP Address Failed
Fix: Not a critical issue! Fix is to tick the “Allow clients to connect through this network” in Failover Cluster Manager and the affected cluster networks properties.

How to configure an account to use the ExMerge utility


Post a Comment