The idea behind the Exchange Best Practices Analyzer is to help prevent or diagnose an issue before it needs to be logged with Microsoft Product Support Services. It acts as a means of call deflection and helps the customer help himself. In my experience, a good majority of support calls that are logged with the support department are configuration issues. Having a tool that will check your system to ensure the top configuration issues and their solutions are brought to your attention is a proactive way of doing things and is sure to bring down the amount of support calls the company receives about configuration issues. This was Microsoft's thinking behind the Exchange Best Practices Analyzer.
So fundamentally, what the Exchange 2007 Best Practices Analyzer tool does is check the health and configuration of your Exchange organization to ensure it complies with current best practises as recommended by Microsoft. As these best practises are updated so too is the tool, ensuring you can take advantage of the most current best practises available. The tool is also run as part of the installation process, checking the configuration for any settings that could potentially cause problems with Exchange 2007.
This tool can help you to troubleshoot specific problems, generate reports on the current state of your Exchange organization and whether it is in line with recommendations, and judge the general health of the system. You can run the Exchange Best Practices Analyzer against your entire Exchange organization, a specific server or set of servers.
The Exchange Best Practices Analyzer works by comparing an enumerated list of your current configuration settings against a pre-defined set of best practises. It gathers information from various sources including Active Directory, the registry, DNS, TCP/IP Settings, the IIS metabase, the performance monitor and files on disk.
Using the Exchange Best Practices Analyzer
The Best Practices Analyzer is available from the Exchange Management Console or downloadable as a separate application. At the time of writing, the latest version available is v2.8, which can be downloaded from:
You can install the redistributable version of the tool on a client machine running the .NET Framework 1.1 or directly on the server that hosts Microsoft Exchange.
The Exchange 2007 Best Practices Analyzer can be accessed from the Toolbox node in the Exchange Management Console. Under Microsoft Exchange, select "Toolbox" and then double click "Best Practices Analyzer".
Figure 1 - The Exchange BPA (as seen in the Toolbox)
If you've just deployed your Exchange server you can also access it by selecting the Microsoft Exchange node at the top - in the "Finalize Deployment" tab in the All Exchange Servers section click "Run the Exchange Best Practices Analyzer". Upon clicking "Go to the Toolbox" you'll be taken directly to the Best Practices Analyzer tool in the toolbox node.
When you first run the Best Practices Analyzer, prior to the welcome screen you are presented with an "Updates and Customer feedback" page on which you can choose whether you want to check for the latest version of the tool or best practices and join the Microsoft Customer Experience Improvement program. The updates are actually downloaded in the form of an XML document and contain additional rules to compare with your configuration. I suggest you choose to check for updates so that you will always have the most recent best practices at hand. The Microsoft Customer Experience Improvement program is a means of providing Microsoft with information about the use of the tool which they will use as feedback to better future versions. Whether you choose to opt in to the program or not is totally up to you, and your company - check if your company policy allows this.
At the welcome screen you can choose to view the results of a previous scan or select options for a new scan. Selecting to view the results of a previous scan will allow you to view any scans carried out previously. Upon clicking on a previous scan from the list, it will load the results and make them available for viewing.
Once you click "Select options for a new scan" you are asked to specify which Active Directory domain controller to connect to. The tool will automatically search for a global catalog to use. In order to read from Active Directory the tool needs to use an account that has appropriate permissions to read from Active Directory. By default it will use the currently logged on user, but you can specify which account to use by expanding "Show advanced logon options". You will have to set credentials here if you ever wanted to schedule a scan. Once you have established the read-only connection to Active Directory, you can begin selecting the appropriate options for the new scan.
You start off by entering a name for the scan, after which you must select the scope in which you want to run the Exchange Best Practices Analyzer. This is one of the great things about this tool; you can scan multiple servers form one location. In my example I have chosen to scan 1 server in the Administrative Group.
Next, you must decide which type of scan to perform. You can choose between the following:
- Health Check
- Permissions Check
- Connectivity Test
- Exchange 2007 Readiness Check
Choosing Health Check will allow you to perform a more in depth scan called a Performance Baseline which can take a couple of hours.
Finally, specifying the speed of the network will determine the total time the scan is estimated to take. Press Start Scanning to begin the scan immediately or Schedule to schedule the current scan for a later date.
Figure 2 - Settings options for a new scan
Once the scan has been performed successfully you can view the report of the scan and see what needs your attention. Depending on the type of scan and the current configuration settings, you can view a critical issues list, a full issues list, non-default settings, recently changed settings and a baseline.
Figure 3 - Viewing an Exchange BPA report
Select a report type from the top - List Reports, Tree Reports or Other Reports - each having their own level of detail.
The Exchange Best Practices Analyzer generates an XML report that you can parse yourself, or export so that it can be imported into another instance of the tool on a different machine.
As we have seen the Exchange Best Practices Analyzer is a great tool which will help keep the servers in your Exchange organization healthy and assist you in diagnosing common configuration mistakes. I recommend you run the tool regularly and use it as a preventative measure, rather than in a troubleshooting scenario!
Exchange Best Practices Analyzer: This Doctor Makes House Calls