1. Log onto the Exchange Server.
2. Start > All Programs > Exchange Management Console > Organisation Configuration > Mailbox > Offline address Book > Create a new one (Must have a different name to {Default}.
3. Delete the Old Offline Address Book.
4. Set the one you created as the default.
WAIT 20 MINUTES – If the Problem Persists
1. Log onto the Exchange Server.
2. Start > All Programs > Exchange Management Console > Server Configuration > Mailbox.
3. Select the Mailbox store in the middle section > Right Click > Properties.
4. Client Settings tab > Browse > Select the Address book you created above > OK > OK.
WAIT 20 MINUTES
Note: I’ve also fixed by creating a new mail profile – though when I switched back to the original one it was ok – so I may not have been patient enough.
Related Articles, References, Credits, or External Links
Exchange 2013, has changed the way Offline Address Books are handled, with previous versions only one server (the first server holding the mailbox role) was responsible for generating the OAB. With 2013 however multiple servers generate the OAB, In fact every server that has a special arbitration mailbox called an organization mailbox will create a copy. This is better for fault tolerance and resilience, and you will find the OAB files located at %ExchangeInstallPath%ClientAccessOAB. Another change is the way the OAB is distributed, now it can only be distributed via the web (no public folder distribution any more).
With the new Exchange Admin Center (https://localhost/ecp) there are no options to mange the OAB, so you will need to do that via PowerShell.
Solution
Pre-Requisites
If your AD environment contains more than one forest, you need to change the parameters that the management shell is going to use first, (or you will get no results). To do that execute the following command;
Seen when an Exchange server attempts to build the Offline Address book but encounters an error.
Source: MSExchangeSA
Event ID: 9327
Task Category: (13)
Level: Warning
Keywords: Classic
User: N/A
Description:
OALGen skipped some entries in the offline address list 'Global Address List'. To see which entries are affected, event logging for the OAL Generator must be set to at least medium.
This is just an instruction to enable logging so that you can see the REAL error.
Solution
Option 1 Enable Logging via the Exchange Management Shell
1. Launch the Exchange Management Shell and check the current logging level it will probably be set to “Lowest” Issue the following command:
[box]Get-EventLogLevel[/box]
Then scroll down to “MSExchangeSAOAL Generator” and check its status.
2. To turn the logging Level Right up issue the following command:
Option 2 Enable Logging via the Exchange Management Console
1. Launch the Exchange Management Console > Server Configuration > Right click the offending server > Manage Diagnostic Logging Properties > Expand MSExchangeSA > Select OAL Generation > Tick Expert > Configure > Finish.
Then rebuild the Offline address Book
1. Launch the Exchange Management Console > Organization Configuration > Offline address book Tab > Right click “Default Offline address Book” > Update.
2. Select “Yes” when prompted.
3. Wait a few minutes the re-check the server application log, you will see this error again but there should be a more descriptive error near it to let you know what is failing.
Related Articles, References, Credits, or External Links
Seen when an Exchange server attempts to build the Offline Address book but encounters an error.
Source: MSExchangeSA Event ID: 9323 Task Category: (13) Level: Warning Keywords: Classic Description: Entry ‘{Username}’ has invalid or expired e-mail certificates. These certificates will not be included in the offline address list for ‘Global Address List’.
Solution
1. Go to a domain controller, Launch “Active Directory Users and Computers”, Select View and enable “Advanced Features”. Locate the username reported in the error (In this example it’s the administrator), On the properties for that user locate the “Published Certificates” tab.
If you can’t see the published certificates tab you are probably on the Exchange Server and NOT on a domain controller.
2. You will see that this user has a certificate which you can see by pressing the view certificate button, In this case we can see that the certificate has expired.
3. I didn’t need to renew this certificate, so I simply removed it.
Then rebuild the Offline address Book
1. Launch the Exchange Management Console > Organization Configuration > Offline address book Tab > Right click “Default Offline address Book” > Update.
2. Select “Yes” when prompted.
3. Wait a few minutes the re-check the server application log, to make sure it now completes without error.
Related Articles, References, Credits, or External Links
Seen when an Exchange server attempts to build the Offline Address book but encounters an error.
Source: MSExchangeSA
Event ID: 9323
Task Category: (13)
Level: Warning
Keywords: Classic
Description:
Entry '{Username}' has invalid or expired e-mail certificates. These certificates will not be included in the offline address list for 'Global Address List'.
Solution
1. Go to a domain controller, Launch “Active Directory Users and Computers”, Select View and enable “Advanced Features”. Locate the username reported in the error (In this example it’s the administrator), On the properties for that user locate the “Published Certificates” tab.
If you can’t see the published certificates tab you are probably on the Exchange Server and NOT on a domain controller.
2. You will see that this user has a certificate which you can see by pressing the view certificate button, In this case we can see that the certificate has expired.
3. I didn’t need to renew this certificate, so I simply removed it.
Then rebuild the Offline address Book
1. Launch the Exchange Management Console > Organization Configuration > Offline address book Tab > Right click “Default Offline address Book” > Update.
2. Select “Yes” when prompted.
3. Wait a few minutes the re-check the server application log, to make sure it now completes without error.
Related Articles, References, Credits, or External Links
If you create a new user, give them a mailbox, and they seemingly fail to appear then don’t panic!
Firstly and fore mostly: If you do anything in Exchange: Apply the “cup of coffee rule”, never make a change then go and prove that change works straight away! check it later.
However most of us work in the real world and you have a user who needs to use this mailbox yesterday!
1. Before you do anything send the user you created a ‘Test Email’ from your own account. If you receive an error message then you can investigate further (Note: Set your Outlook client to send you a delivery report on the test email as well). Then check the mailbox Exists (See Check for existence of mailbox sections below).
Check for the Existence of the mailbox (Exchange 2000 /2003)
1. Click Start > All Programs > Microsoft Exchange > System Manager.
2. Expand the Exchange Organisation > Administrative groups > Administrative group name (First Administrative group is the default).
Note: If you cannot see Administrative Groups right click the Very top object > Properties > Tick Display Administrative Groups.
3. Expand Servers > Server-name > Storage Group (First Storage group will be the default) > Mailbox Store > Mailboxes.
4. The Mailbox SHOULD be in the right hand window (Providing you are in the correct administrative group, on the correct server, and in the correct mailbox store!).
Check for the Existence of a mailbox (Exchange 2007/2010)
Remember with Exchange 2007 / 2010 you create the mailbox with the Exchange system Manager anyway!
1. On the Exchange Server, Start > All Programs > Microsoft Exchange Server 2007 > Exchange Management Console.
2. Expand recipient Configuration > Mailbox.
3. The Mailbox should be listed in the centre window.
Check for the Existence of a mailbox (Exchange 2013/2016)
Connect to the Exchange admin center > recipients > mailboxes > locate your user.
Mailbox is there but the user is not listed on the Global Address List
1. Make sure the user is not “Hidden from the Global Address List”
Exchange 2000/2003
On the Exchange Server > Click Start > run > dsa.msc {enter} >Locate the user in question > Right Click the user > Properties > Exchange Advanced Tab > Ensure “Hide from Exchange Address Lists” is NOT ticked.
Exchange 2007/2010
On the Exchange Server > Start > All Programs > Microsoft Exchange Server 2007 > Exchange Management Console Expand recipient Configuration > Mailbox > Locate the Mailbox for the user in question > Right Click the Mailbox > Properties > General Tab > Ensure “Hide From Exchange Address Lists” is NOT ticked.
Exchange 2013/2016
Connect to the Exchange admin center > recipients > mailboxes > locate your user > Edit > Ensure “Hide From Exchange Address Lists” is NOT ticked.
Make sure the user is on the Global Address List on the server.
The easiest way to do this is simply connect to Outlook Web Access, and query the GAL directly (OWA uses the GAL no the OAB like Outlook running in cached mode does).
Exchange 2000/2003
Click Start > All Programs > Microsoft Exchange > System Manager > Expand Recipients >All Global Address Lists > Right Click Default Global Address List > Properties > General Tab > Preview > Check the user is on this list.
Exchange 2007/2010
On the Exchange Server > Start > All Programs > Microsoft Exchange Server > Exchange Management Console > Select Organisation Configuration > Mailbox > Address Lists Tab > Locate the all users Object > Double Click it > Select Preview > Check the user is on this list > OK > Cancel.
Exchange 2013/2016
Connect to the Exchange admin center > organization > address lists > Default Global Address List > Edit > Preview recipients in the global address list includes… > Locate the user.
The User/Mailbox IS listed on the Server But NOT in Outlook.
Remember, if you are looking at the Global Address List in Outlook then you are NOT looking at the Servers Global Address List*. If you are using Outlook you may be in “Cached Mode”, and you are looking at a copy called the “Offline address book” This only gets updated Every 24 hours, and the copy on the server only gets updated every 24 hours at 04:00 (by default). In addition to this there a a few methods by which your Outlook clients get the offline address book.
*Note: Unless you are NOT in cached mode.
Outlook 2003 (and older)* clients get their OAB from a public folder, Outlook 2007 (and newer) clients can get their OAB from ‘Web-based distribution’ (basically form the website on the Exchange (or Exchange CAS) server. So there are three factors stopping you seeing that new user on the GAL (I personally advise you simply wait, however if that’s not an option, read on).
*Exchange Supported versions of Outlook
Support for Outlook 2000 was dropped with Exchange 2007, Exchange 2010 only supports Outlook 2003 (post SP2). Exchange 2013 only supports Outlook 2007 (post SP3 and cumulative update), and Outlook 2010 must be at SP1 with cumulative update.
a. Firstly force update the Offline Address Book.
b. Force your Outlook Client to Download the Offline Address book.
c. Check that the OAB is getting distributed from the Exchange/CAS server.
Update the Offline Address Book from the Global address List
Exchange 2000 / 2003
Click Start > All Programs > Microsoft Exchange > System Manager > Expand Recipients > Offline Address Lists > Right Click the “Default Offline Address Book” > Rebuild > HEED THE WARNING > OK > Right Click it again > Properties, You will see the time it updates (by default) you can change that here..
Exchange 2007 / 2010
1. On the Exchange Server > Start > All Programs > Microsoft Exchange Server 2007 > Exchange Management Console > Select Organisation Configuration > Mailbox > Offline address book tab > Right Click the Default Offline Address Book > Update > HEED THE WARNING > OK > Right Click Again > Properties > You can change the Schedule at which it updates.
Exchange 2013/2016
You can also force the OAB update with the following PowerShell command;
Click Start > All Programs > Microsoft Exchange > System Manager > Expand the Exchange Organisation > Administrative groups > Administrative group name (First Administrative group is the default) > Expand Servers > Server-name > Storage Group (First Storage group will be the default) > Public Folder Database > Ensure it is mounted.
Then expand Folders > Public Folders > OFFLINE ADDRESS BOOK > Make sure it’s displayed as per the image below.
Exchange 2007 / 2010
On the Exchange Server > Start > All Programs > Microsoft Exchange Server > Exchange Management Console > Select Organisation Configuration > Mailbox > Offline address book tab > Right Click the Default Offline Address Book > Properties > Distribution.
Note: Make sure the Generation Server is set to a server that exists, and it’s online.
In the diagram below you can see this server is performing public folder AND web based distribution, this is probably because you ticked this box when you installed the product.
For public folder distribution ensure the public folder database is mounted, and at least one server holds a replica. Also in the properties of the mailbox database, your users are using, make sure it points to the correct public folder database.
For web-based distribution make sure the site is up.
Exchange 2013/2016
Exchange 2013/2016 will only be distributing the OAB via web-distribution. make sure the default website is up.
Force Outlook to Download the New Offline Address Book
For all versions of Outlook (since 2003) you have two choices, either take Outlook out of cached mode* (so it queries the ‘live’ global address list). Or force Outlook to download the latest version of the offline address book.
*Note: Disabling cached mode is not really a fix!
Outlook 2003 Download The Offline Address Book
Tools > SendReceive > Download Address Book > OK.
Outlook 2003 Turn off Cached Mode
Tools > E-mail Accounts > View or change existing email accounts > Next > Select the account > Change > un-tick “Use Cached Exchange Mode” > Next.
Seen when manually trying to update the Global Address List, with the following powershell command:
[box]Update-GlobalAddressList -identity ‘Default Global Address List'[/box]
Error: WARNING: The recipient “{your domain name}/Microsoft Exchange System Objects/{A Public Folder Name}” is invalid and couldn’t be updated.
or
Error: WARNING: The recipient “{your domain name}/Microsoft Exchange System Objects/OAB Version 2” is invalid and couldn’t be updated. WARNING: The recipient “{your domain name}/Microsoft Exchange System Objects/OAB Version 3a” is invalid and couldn’t be updated. WARNING: The recipient “{your domain name}/Microsoft Exchange System Objects/Offline Address Book – /o={your domain name}V/cn=addrlists/cn=oabs/cn=123” is invalid and couldn’t be updated.
This is commonly seen when an Exchange environment has been migrated from Exchange 2003. And it happens because the Alias names for the particular public folders have spaces in them (or a character that Exchange does not like).
Solution
1. On your Exchange 2007/2010 Server Launch the Exchange Management Console > Toolbox > Public Folder Management Console.
2. If you error is about OAB / Address books skip to step 5, If it’s to do with a public folder that your organisation has created, expand default public folders and locate one of them that’s causing the error (In the example above I’ve highlighted one called “1045 – Greengairs” > Select its parent > Then select it (in the central pane) and open its properties.
3. As soon as you select the “Exchange General” tab, you will get an error popup which indicates the problem, there is a problem with the Alias name, in this example there’s spaces in it remove them.
Error: The properties on this object have invalid data. If you click OK, default values will be used instead and will be saved if you do not change them before hitting Apply or OK on the property page. If you click cancel, the object will be displayed read-only and corrupted values will be retained.
4. Once removed apply the changes.
5. If your error references OAB or address books, expand system Public Folders > OFFLINE ADDRESS BOOK > Check the properties of ALL its child objects > and on the Exchange General tab remove any spaces or unusual characters.
Related Articles, References, Credits, or External Links
Seen on an Exchange 2010 server, this server had previously been upgraded from Exchange 2007, and that was upgraded from Exchange 2003.
Event ID 9335
Log Name: Application
Source: MSExchangeSA
Event ID: 9335
Task Category: (13)
Level: Error
Keywords: Classic
User: N/A
Computer: ServerName
Description:
OABGen encountered error 80004005 while cleaning the offline address list public folders under
/o=org/cn=addrlists/cn=oabs/cn=Default Offline Address Book. Please make sure the public folder
database is mounted and replicas exist of the offline address list folders. No offline address
lists have been generated. Please check the event log for more information.
- Default Offline Address Book
Event ID 9331
Log Name: Application
Source: MSExchangeSA
Date: 29/08/2013 06:10:50
Event ID: 9331
Task Category: (13)
Level: Error
Keywords: Classic
User: N/A
Computer: ServerName
Description:
OABGen encountered error 80004005 (internal ID 50101f1) accessing the public folder database
while generating the offline address list for address list '/'.
- Default Offline Address Book
Solution
Note: If you don’t have any Outlook 2003 clients left in the organisation, this is a moot point. Simply disable distribution of the offline address book via public folder. (Newer Outlook clients use web based distribution.)
1. Before we do anything make sure that the offline address book has been specified, is shown on the correct server, and is set as default.
2. From the Exchange Management Console > Toolbox > Public Folder Management > system Public Folders > OFFLINE ADDRESS BOOK > Then in the center window, right click each one > Properties > Replication > The server that hosts the public folder should be in here > (In my case it was not.) > Add it in.
3. Now you can force the OAB to update with the following command;