Applies to: Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2010-06-15

After you have installed Microsoft Exchange Server 2007, you should verify the installation. If you determine that installation did not complete successfully, you may need to troubleshoot the problem. You can troubleshoot an Exchange 2007 deployment in the following ways:

In addition, the following topics will help you troubleshoot specific deployment and migration issues:

Using Setup Logs

To troubleshoot your Exchange 2007 deployment, you should use the log files located at %systemdrive%\ExchangeSetupLogs. You will see several log files in this directory. The most relevant is the ExchangeSetup.log file. To find out if Setup encountered any errors, search this file for "[ERROR]".

Other files in the ExchangeSetupLogs directory include the following:

  • *.msilog files. These files include additional logged information about specific parts of the installation.

  • *.ps1 files. These files are Exchange Management Shell scripts that Setup calls during the installation. To view where in the installation process each of these scripts was run, search for the file name in the ExchangeSetup.log file.

  • Prerequisites check logs. These logs are located in the PreReqs directory, which contains log and data files from the Setup prerequisite checks. These file names all start with "ExBPA" because the prerequisites are checked by using the engine from the Microsoft Exchange Server Best Practices Analyzer tool.

After you troubleshoot a Setup failure and make any necessary changes, you do not have to reformat the drive or remove the Exchange files that were copied and then restart Setup. Setup can resume installation at the point that it stopped. Simply run from a Command Prompt window, or click Setup.exe to start the Setup wizard, and it will continue with the previously attempted installation. Or, if you leave the Setup wizard open on the Readiness Checks page, you can make any necessary changes, and then click Retry to run the readiness checks again and continue with the installation.

If Setup successfully installs at least one server role and then fails, when you restart the Setup wizard, you will be in maintenance mode. This means that you already have at least one component of Exchange 2007 installed. You can also start Setup in maintenance mode by running Add or Remove Programs from Control Panel and selecting either Change or Remove for Microsoft Exchange Server. In maintenance mode, you can add server roles. If you select Remove from Control Panel, you can also remove server roles. For more information, see Removing and Modifying Exchange 2007.

For detailed information about using the setup logs to troubleshoot Setup, see the following Exchange Server Team Blog articles:

The content of each blog and its URL are subject to change without notice. The content within each blog is provided "AS IS" with no warranties, and confers no rights. Use of included script samples or code is subject to the terms specified in the Microsoft Terms of Use.

Using Exchange Management Shell Cmdlets

The following Exchange Management Shell cmdlets can be helpful for troubleshooting deployment issues:

  • Test-ServiceHealth

  • Test-SystemHealth

Use the Test-ServiceHealth cmdlet to test whether all the required services that are configured to start automatically on a server have started. You can use this to determine what state a server is in after a failed or partially completed installation.

Use the Test-SystemHealth cmdlet to gather data about your Exchange system and to analyze the data according to best practices. This cmdlet performs the same tests and analysis as the Exchange Server Best Practices Analyzer.

For More Information

For more information about troubleshooting Exchange 2007 operations, see Troubleshooting.

For more information about verifying your installation, see Verifying an Exchange 2007 Installation.

For detailed syntax and parameter information about the Test-ServiceHealth cmdlet, see Test-ServiceHealth.

For detailed syntax and parameter information about the Test-SystemHealth cmdlet, see Test-SystemHealth.