How to change the temp location for the OAB Generation process on Exchange 2007 sp2 and Exchange 2010

In all version of Exchange the OAB Generation process will store the data is reads from the active directory in the %temp% directory, on the server that is generating the OAB. Once the OAB Generation process completes the temp files will be removed.

For some customers that have several million users in their organization or large hosting environments this can be a problem, as most systems are never upgraded to meet the current demands. Administrators from time to time often find themselves running out of drive space on the c:\ as this part of the system never gets upgraded.

In Exchange 2007 SP2 we added a registry key called OALGEN_REG_V4_ALT_TEMP_FILES_LOCATION which will allow you to change the temporary storage location for the OAB Version 4 temporary files. This registry key will *ONLY* work for OAB Version 4. OAB versions 2 and 3’s temporary files will still go to the %temp% directory. If this registry key is not present on the OAB’s generating system we will revert back to the %temp% directory.

Being that OAB Version 4 is generated slightly different and uses different compression algorithms we can allow for a larger number of users far exceeded what we could generate on legacy systems.

We have also added two new event log events for troubleshooting:

Event Type: Informational
Category: OAL Generator
Source: MSExchangeSA
Event ID: 9400
Date: 2/6/2010
Time: 7:13:01 PM
User: N/A
Computer: OABGenServer
Description:

OALGen will use 'd:\storage\OabTempFiles' as the alternative temporary directory for generating the offline address book version 4 files.

and

Event Type: Error
Category: OAL Generator
Source: MSExchangeSA
Event ID: 9401
Date: 2/6/2010
Time: 7:13:01 PM
User: N/A
Computer: OABGenServer
Description:

OALGen failed to open directory 'd:\storage\OabTempFiles' as the alternative location for intermediate files. The default location ‘c:\windows\temp’ will be used.

Before using this registry in a production environment I suggest that you test this out in your lab first.

Dave