Monday, November 17, 2014

Offline Address Book (OAB) Continue Improvement-Exchange 2013



When you are disconnecting from your Exchange environment or your outlook is running in cached mode and you Offline Address Book (OAB) to provide you with access to address lists, which is always available when you connected again on your Exchange environment.
If any modification on users attribute such as name change or new users creation it will update on address list and OAB rebuild and download schedule will provide you updated address list when you connecting in your Exchange environment.


Exchange 2010

  • In previous Exchange released OAB generation was bound to a specific Exchange Server.
  • When you are installing the first Exchange Server It will be the OAB generation server default.
  • Microsoft System Attendant services is the responsible the produces the OAB.
  • It is a scheduled process, OAB generation would start at the schedule time configured on the OAB property, irrespective of the load in Server.
  • If you are planning to create additional OAB, you have to specify the generation server.
  • Only one server was configured for OAB generation and it was a single point of failure.
  • If that server is down it will affect the OAB generation process.
  • Web-based distribution and Public folder method is using for distributing the OAB, which is performing by the Client Access Server.
  • OAB data copies the data from mailbox server to the Client Access Server with help of Exchange file distribution service when it start.
  • Client is using OAB virtual directory to access the OAB with help of Autodiscover service.
  • Outlook receives OAB URL from Autodiscover and reached a CAS server for authentication the user and saved OAB files from local disk.
  • IF CAS does not have the OAB file locally, OAB download fails.


Exchange Server 2013

Microsoft introduce the new server role architecture in Exchange 2013 and made many changes including the OAB generation and distribution.
  • In Exchange 2013, the OAB generation will be in each Exchange 2013 mailbox servers, which is hosting the special type of arbitration mailbox, called organization mailbox.
  • Creating new OAB no longer uses the server parameter such as “New-OfflineAddressBook –Name OAB-HR –AddressLists “Global Address List HR”
  • Now OAB generation is not destined by the server, which is providing greater resiliency in OAB generation.
  • You can use cmdlet “Get-offlineAddressbook “Default Offline Address Book (Ex2012)” | fl name,server"
  • OABGenerationAssistant is responsible for generating the OAB, which is running under Microsoft Exchange Mailbox Assistant service, it is also running according the load in Server.
  • Organization mailbox is new type of arbitration mailbox (OrganizationCapabilityOABGen), which is play a crucial role in OAB generation, storage and distribution.
  • Each mailbox server host an Organization mailbox, OAB generate first in Organization mailbox than copied to the disk.
  • We can use cmdlet “Get-Mailbox –Arbitration | where {$_.PersistedCapabilities –like “*oab*”}”
  • Exchange 2013 only using the Web distribution method.
  •  Exchange 2013 OAB files are not stored locally on CAS, CAS proxies all OAB download request to the appropriate mailbox server.
  • Microsoft Exchange file distribution Service is removed from the CAS server.
  • Outlook receives OAB URL from Autodiscover from designated CAS server through OAB URL.
  • CAS will do the initial authentication and queries to Active Directory for nearest mailbox server for requesting the user and determine the Organization mailbox hosting mailbox server.
  • Queries the Active Manager to determine the mailbox server where the Active Database is mounted and it will proxies the request to the mailbox server than retrieve OAB file and passes them to the client. 
  • Exchange 2013 only support OAB version 4.
  • If you want change the generation server, you can move the organization mailbox to mailbox database on a server intended to be designated as OAB generation server, following cmdlet we can use for moving OAB “Get-Mailbox –arbitration –database db1|where {$_.PersistedCapabilities –like “*oab*”} | New-MoveRequest –TargetDatabase db2"
  • We can create additional Organization mailbox for fault tolerance with following cmdlet “New-Mailbox –Arbitration –Name “OAB Denver” –Database DB4Denver –UserPricipalName  OABD@tech.com –DisplayName “OAB Mailbox for Denver” and we can enable OABGen capability with cmdlet “Set-Mailbox –Arbitration OABD –OABGen $true"
  • In Exchange 2013 OAB generation does not take place according to the Schedule define in OAB properties, it is take place according to OABGeneratorWorkCycle and OABGeneratorWorkCycleCheckpoint properties, you can check with cmdlet Get-MailboxServer MX1 | fl *oab*

CU-5
  • Prior to CU5, we should only deploy a single OAB generation mailbox per Exchange organization.
  • Exchange Administrators can define where an OAB is generated.
  • Remove the capability to have multiple instances of the same OAB.

CU 7
  • CU 7 to help for an OAB generation mailbox to host a shadow copy of another OAB, this will enable additional mailbox server to be an endpoint for OAM download request.
  • Shadow distribution default is disabled in Server.
  • Still Autodiscover use the GlobalWebDistributionEnabled and VirtualDirectoriesproerties of an OAB for determine which CAS OAB virtual directory are eligible for distributing the OAB.
  • Prior to enabling shadow distribution, we have to deploy an OAB generation mailbox in each Active Directory site.
  • Once global distribution is enabled and OAB generation mailboxes are deployed, we can use following cmdlet for enabling the shadow distribution “Set-OfflineAddressBook “Denver OAB” –ShadowMailboxDistribution Enabled $true”.
  • For more details you can refer Team Exchange Blog


How we can manage OAB in Exchange 2013, please click here for more details. 

Hope this articles will give you idea how Microsoft Improving the OAB functioning.

1 comment: