Subscribe to Windows IT Pro
January 31, 2005 12:00 AM

A Closer Look at Exchange Best Practices Analyzer

Delve deeper into ExBPA's architecture and configuration files
Windows IT Pro
InstantDoc ID #45070
Rating: (0)

Last month, in "The Exchange Best Practices Analyzer," InstantDoc ID 44793, Paul Robichaux explained how to obtain and use Exchange Server Best Practices Analyzer (ExBPA), a Microsoft tool that scans Exchange servers and reports on numerous settings so that you can optimize your Exchange configuration. Here, I continue the discussion by describing the ExBPA architecture and the mechanism by which ExBPA maintains and updates its rules and configuration data.

Why ExBPA?
ExBPA's roots can be traced to a couple of "unofficial" Microsoft tools that have been available for some time: ExConfig (which provides details about Exchange configuration changes on servers) and ExDiag (which reports about Exchange configuration and topology throughout an organization). Microsoft defines ExBPA as a diagnostic tool that gathers configuration information about an Exchange organization, performs specific tests against the organization's configuration, compares the test results against a baseline of best practices, and reports its findings. You can use ExBPA to perform a health check against an organization, identify settings that have been changed from the default, highlight less-than-optimal configuration settings, and compare servers against a baseline. ExBPA compares settings on Exchange systems with Microsoft-recommended best practices for configuration and can thus identify potential problems in an Exchange organization. Of course, a health-check tool that compares real-life servers against a set of rules is only as useful and valid as the rules and configuration data that are built into the tool; furthermore, best practices don't materialize overnight but instead develop over time. Therefore, Microsoft has designed ExBPA so that it checks for new rules and configuration data regularly (by default, every time ExBPA is started).

Microsoft plans to update the ExBPA rules and configuration files frequently (at least every few weeks). The configuration files define the operation of ExBPA, determining what data is collected and how it's analyzed. Microsoft will change the ExBPA binaries somewhat less frequently but will probably release new versions of ExBPA (available at http://www.microsoft.com/exchange/exbpa) about every 4 months. In fact, shortly before publication time, Microsoft shipped ExBPA 1.1, which I discuss later.

ExBPA Architecture and Operation
ExBPA contains several architectural components—namely, a dispatcher, collectors, and an analyzer. The dispatcher drives the collector and analyzer components and takes as its input configuration information, which is effectively the best-practices rules that ExBPA uses for its processing.

ExBPA collectors interrogate the systems you're scanning (i.e., Active Directory—AD—and Exchange servers) and return information to ExBPA. The collectors gather much of this data from diverse sources such as Windows Management Instrumentation (WMI), AD, the registry, the Microsoft IIS metabase, Performance Monitor counters, ports, and DNS. However, some of the data might be generated by tests that ExBPA applies to various components—for example, communications with SMTP virtual servers. ExBPA might access many AD servers during a scan operation to duplicate the behavior of the scanned Exchange servers, which also access numerous AD servers. (Note that ExBPA can scan Exchange Server 5.5 servers for some types of data, but because Exchange 5.5 servers don't support WMI, the scan results will be less comprehensive than for servers running later Exchange versions.) Collectors run in a multithreaded fashion, and as many as 50 Exchange servers (from up to 10 administrative groups) can be scanned at the same time.

When the collectors have returned the data to the ExBPA dispatcher, it invokes the analyzer, which processes the returned data and compares it against the rules in the configuration file. The analyzer then produces an XML file that provides a report about the health of your Exchange messaging environment. You can view the report file within ExBPA or save it for further processing.

By default, ExBPA writes the output XML file and a log file for each scan to system drive:\documents and settings\profile name\application data\microsoft\exbpa, where system drive is the drive on which Windows is installed and profile name is the username under which you're currently logged on to the workstation. You can change the default location for the XML output and log files by setting a registry value. To do so, open the registry editor and navigate to the HKEY_CURRENT_USER\Software\Microsoft\Exchange\ExBPA subkey and create (or modify) the ImportExportDirectory entry (type REG_STRING). Double-click the entry and set its value to the directory name of your choice.

Configuration Files
ExBPA's configuration information is contained in the exbpa.config.xml file, which is in the ExBPA installation directory. There are actually two versions of the configuration file: one in the common installation directory and one in the language-specific subdirectory. The language-specific version is the one that ExBPA typically uses; the common installation directory version is a placeholder that ExBPA uses only when no language-specific file is available.

Whenever ExBPA is started, it performs a check to determine whether a newer configuration file is available and, if it finds one, notifies you so that you can download it. You can opt not to download the new file and continue working with the existing configuration file. Downloading the new configuration file can take several minutes, depending on your Internet connection. During the download, you'll see a status box that shows the download's progress on the ExBPA main screen, which Figure 1 shows. You can also manually check for an updated configuration file at any time by clicking Update Exchange Server Best Practices Analyzer on the main screen.

If the system on which ExBPA is running can't connect to the Internet to determine whether a new configuration file is available, it times out within 5 minutes. While ExBPA is attempting to connect to the Internet, you can't run any ExBPA scans. To avoid the timeout problem, you can set a registry value that suppresses the updated–configuration-file check at start-up. To do so, navigate to the HKEY_CURRENT_USER\Software\Microsoft\Exchange\ExBPA subkey and create (or modify) the VersionCheckAlways entry (type REG_DWORD). Double-click the new entry and set its value to 0.

The process of determining whether a new exbpa.config.xml file is required is straightforward, and you can do so manually or let ExBPA do so automatically. Near the beginning of the local exbpa.config.xml file (about line 50) on the system on which ExBPA is running is a line that defines the current file version. For example, the version of exbpa.config.xml that ships with ExBPA 1.0 is 1.5.4.0 (as of publication time, the current configuration-file version was 1.6.3.1). You can find the most recent version of exbpa.config.xml at http://www.microsoft.com/exchange/code/exbpa/1.0/en/exbpa.config.xml. (You can replace the en—for English—in the URL with the appropriate language-specific identifier, such as ja, for Japanese.)

Related Content:

ARTICLE TOOLS

Comments
    There are no comments to display. Be the first one!
You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.