How Does Offline Address Book (OAB) Works – Deep Dive (Part 2)

In previous Article, we have seen what is Outlook Offline Address(OAB) and how does it works.

How Does Offline Address Book (OAB) Works – Deep Dive (Part 1)

How Does Offline Address Book (OAB) Works – Deep Dive (Part 3)

How to Plan and Deploy Offline Address Book(OAB)

In this Article, we will see how to move the offline address Generation Process to another mailbox, Schedule changing for Offline address book generation and What is Shadow Copy and how to configure it.

1. Moving Offline Address Generating Mailbox to Another Database

By Default, The Arbitration Mailbox SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c} is responsible for the OAB Generation that you can check using the commands

To Validate how many mailboxes are there to take care the OAB genration, Run the below command,

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*oab*”}

Run the below command to see the Current hosting database of the Default System mailbox of the OAB Generating Process

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*oab*”}|fl alias, Database

By default, it gets created in the first Exchange server and first Orgnaization. Since it is gets added when the exchange installation in progress, it will be there in the default mailbox database. Most of the organizations they choose to delete the default Database. along with Offline Generating Mailbox, few more Health mailbxoes and system mailboxes also gets created which are highly required for Exchange services.

So it is better to move the mailboxes before delete the default database. since it is for offline Address Book (OAB) article, we choose to explain only OAB Mailbox.

Run the below command to move the Default System mailbox of the OAB Generating Process,

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*oab*”}|New-MoveRequest -TargetDatabase MBX1DB1

Now, Run the command to check the mailbox move request,

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*oab*”}|fl alias, Database

Creating Mailbox and moving the OAB Generation to another mailbox,
Before we move the OABGen to new mailbox, we need to create the mailbox and designate as Arbitration Mailbox.

Run the below command to create the new Mailbox,

New-Mailbox -Arbitration -Name “OABMailbox1” -UserPrincipalName OABMailbox1@windowstechpro.com -Alias OABMailbox1
-DisplayName “OABMailbox1” -Database MBX1DB1

Now it is time to move the OABGen to the New Created mailbox. To get this done,Run the below command
Set-Mailbox -Identity “OABMailbox1” -Arbitration -OABGen $true -MaxSendSize 500MB
And Run the command,
Set-OfflineAddressBook “Default Offline Address Book” -GeneratingMailbox OABMailbox1


There is Warning message, To finish the task of moving the offline address Book (OAB) Process, Run the command

Update-OfflineAddressBook “Default Offline Address Book”

Note: I have single OAB, Hence above command enough for me to finish, If you have multiple OABs, You need to run the command against all the OABs to finish, Hence there will be impact till it replicates in Automatic manner.

Now if you run the command to check OABGen Mailboxes, you could see there are two shown.

Since we already moved the OAB to the newly created mailbox, It is okay to delete the default created mailbox from the Exchange which will not bring any impact to the OAB Distribution using the blow command,

Remove-Mailbox -Identity SM_342ebb7c38094c938 -Arbitration

In my case, SM_342ebb7c38094c938 is the Default Arbitration System mailbox for the OAB

Creating Additional Offline Address Book (OAB):
Let’s assume, You have two Exchange DAGs spreaded to different geographical Locations one is in India and another one in USA. As I have mentioned earlier, there will be only one Offline Generating Mailbox. Consider it has been hosted from India Data Ceneter Mailbox database. Any user should connect from both locations should connect to India Data Center to download the OAB. Now, What will happen if you OAB Size is 500MB and Network Speed between Data Centers are very less. the users from USa Location should travel from USA Network to India to download on the slow network speed. In this case, there will be lot of network bandwidth utilized and users will face issues interms of OAB Download process.

To mitigate this issue, We can consider creating the Another Offline Address Book for the USA Location users and set it as default OAB for the USA Databases with the One more GeneratingMailbox , so that users no need to travel from USA data center to India.

To create Additional OAB, Run the below command

New-OfflineAddressBook -Name “Default Global Address USA” -AddressLists “Default Global Address List” -GeneratingMailbox OABMailbox2

Now Run the below command to see the Available OABs in the Exchange Infra,
Get-OfflineAddressBook | Format-List Name,AddressLists,GeneratingMailbox,IsDefault

Above you Could see that, “Default Global Address USA” is not default which means it is not taken to databases as default when the Explicitly set for the OfflineAddressBook Parameter. Any databases which are not set with OfflineAddressBook, It will take the default one set in the Infra.

Now run the below command to set the OfflineAddressBook created one for the USA Databases,

Set-MailboxDatabase MBX2DB1 -OfflineAddressBook “Default Global Address USA”

This can be done in the GUI as well, To do that, Login to ECP–>Servers–>Databases–Edit the Database

Click on Client Settings –> Browse the Offline address Book available and select Default Global Address USA and save.

If you have multiple Databases in the locations, you better look for option using PowerShell to complete in few cmdlets.

What is Shadow Copy of Offline Address Book (OAB).

In Above example, We have created two Offline Address Books for each Data Center Locations Namely and Set for the databases to avoid the network Utilizations and slow in the OAB Download. Now What will happen in case, One of the USA Location users comes to India Datacenter and connects to download OAB or India user goes to USA Location or You have internet Hosting only from india and USA user connects from internet and downloads the OAB. Any Guesses?

Okay let me tell you the process now. USA User when he connected from India Datacenter, Actually He gets the Auto Discover response of the local AD Site URLs and he connects to the India Servers and Proxied to the local Arbitration Mailbox for the OAB Process. Since the local OABMailbox does not have Local Unique identifier of the last update information, It will enforce for the full download of the OAB. It remains same when USA User connects over internet to the India Exchange Servers. It actually creates problem for the users who connected from different Locations and will face issues.There will more Load on the Exchange Servers.

To mitigate this problem, we can enable Shadow Copy (ShadowMailboxDistributionEnabled) for the offline address books and enable GlobalWebDistributionEnabled. How does it helps?. When you enable Shadow Copy (ShadowMailboxDistributionEnabled) and GlobalWebDistributionEnabled, USA OAB gets created in India Data Center as Shadow Copy maintains same information of the last update information Unique identifiers of the Outlook clients of the USA Users. When USA User connects from the india he gets only required since last update instead of Complete download. It applies same for India users when connected from USA Data Center or connected from Internet.

Use the below command to validate to validate whether these are enabled.

Get-OfflineAddressBook | Format-List Name,GUID,AddressLists,GeneratingMailbox,IsDefault,GlobalWebDistributionEnabled,ShadowMailboxDistributionEnabled

In the above screenshot, it shows that still not enabled with Shadow Copy. To enable it, run the command as follows,

Get-OfflineAddressBook |Set-OfflineAddressBook -ShadowMailboxDistributionEnabled $True
-GlobalWebDistributionEnabled $True -VirtualDirectories $Null

Note: Above command enables Shadow Copy and GlobalWebDistribution for all OABs across locations. If you looking for specific OAB, You can get it done using Identity of those OAB.

have you noticed onething here, I have used -VirtualDirectories $Null in the above command. what does it do?. By default there will be Front end / Back end of the OAB Servers will be there responsible for the OAB Requests. With -VirtualDirectories $Null,We are letting to handle download requests from all OAB virtual directories available in the organization. This makes smooth handling requests and Mandatory set for the GlobalWebDistribution.

How Does Shadow Copy of the Offline address Book Downloaded from the Current Holder of the OAB?
below is process followed, Refer the Microsoft Article as it got explained well on the topic I wanted to explain on how Shadow Copy gets distributed.

For more details on Offline Address Book (OAB) , Please refer the below Multi Part of articles

How Does Offline Address Book (OAB) Works – Deep Dive (Part 1)

How Does Offline Address Book (OAB) Works – Deep Dive (Part 2)

How Does Offline Address Book (OAB) Works – Deep Dive (Part 3)

How to Plan and Deploy Offline Address Book(OAB)

Leave a Reply

Your email address will not be published.