Change the offline address book generation schedule in Exchange 2016

 

Applies to: Exchange Server 2016

Topic Last Modified: 2018-01-05

Summary: Learn how to configure the offline address book (OAB) update interval in Exchange 2016.

An offline address book (OAB) is a copy of an address book that's been downloaded so that an Outlook user can access the information it contains while disconnected from the server. By default, a new OAB is generated every 8 hours in Exchange Server 2016, but you can change the interval by using the Exchange Management Shell.

For additional management tasks related to OABs, see Procedures for offline address books in Exchange 2016.

tipTip:
Having problems? Ask for help in the Exchange forums. Visit the forums at: Exchange Server, Exchange Online, or Exchange Online Protection.

Changing the OAB generation schedule is a two-step process:

  1. Change the OAB generation schedule.

  2. Apply the new OAB generation schedule.

To change the OAB generation schedule, use this syntax:

New-SettingOverride -Name "<UniqueOverrideName>" -Component TimeBasedAssistants -Section OABGeneratorAssistant -Parameters @("WorkCycle=<Timespan>") -Reason "<DescriptiveReason>" [-Server <ServerName>]

Notes:

  • To specify a <TimeSpan> value, use the syntax d.hh:mm:ss, where d = days, hh = hours, mm = minutes, and ss = seconds.

  • To configure the OAB generation schedule on all Exchange 2016 Mailbox servers in the Active Directory forest, don't use the Server parameter.

  • To configure the OAB generation schedule on a specific Exchange 2016 Mailbox server, use the Server parameter and the name (not the fully qualified domain name or FQDN) of the server. This method is useful when you need to specify different OAB generation schedules on different Exchange servers.

  • In Exchange 2016 Cumulative Update 3 (CU3) or earlier, the Component parameter value is MailboxAssistants.

This example specifies that the OAB is generated every two hours on all Exchange 2016 servers in the organization that are responsible for generating OABs.

  • Setting override name   "OAB Generation Override" (must be unique)

  • WorkCycle   02:00:00 (2 hours)

  • Override reason   Generate OAB every 2 hours

New-SettingOverride -Name "OAB Generation Override" -Component TimeBasedAssistants -Section OABGeneratorAssistant -Parameters @("WorkCycle=02:00:00") -Reason "Generate OAB every 2 hours"

This example specifies the same OAB generation schedule, but only on the server named Mailbox01.

New-SettingOverride -Name "Mailbox01 OAB Generation Override" -Component TimeBasedAssistants -Section OABGeneratorAssistant -Parameters @("WorkCycle=02:00:00") -Reason "Generate OAB every 2 hours" -Server Mailbox01

To apply the new OAB generation schedule, use this syntax:

Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh [-Server <ServerName>]

Notes:

  • If you didn't use the Server parameter in Step 1, don't use it here. If you used the Server parameter in Step 1, use the same server name here.

  • If you delete the custom OAB generation schedule by using the Remove-SettingOverride cmdlet, you still need to run this command to change the generation schedule back to the default value of 8 hours.

This example applies the new OAB generation schedule on all Exchange 2016 Mailbox servers in the organization.

Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh

This example applies the new OAB generation schedule on the server named Mailbox01.

Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh -Server Mailbox01

To verify that you've configured the OAB generation schedule on one or more Exchange 2016 servers, replace <ServerName> with the name of the server (not the FQDN), and run the following command to verify the value of the WorkCycle property:

[xml]$diag=Get-ExchangeDiagnosticInfo -Server <ServerName> -Process MSExchangeMailboxAssistants -Component VariantConfiguration -Argument "Config,Component=TimeBasedAssistants"; $diag.Diagnostics.Components.VariantConfiguration.Configuration.TimeBasedAssistants.OABGeneratorAssistant

Note: In Exchange 2016 CU3 or earlier, you need to run this command instead: [xml]$diag=Get-ExchangeDiagnosticInfo -Server <ServerName> -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Config; $diag.Diagnostics.Components.VariantConfiguration.Configuration.MailboxAssistants.OABGeneratorAssistant.

 
Show: