You may have heard about multi-geo feature of office 365, this feature can be useful to move your data to your closest region. There could be many reason of using this feature like data residency, going away with multiple office 365 tenants, reducing latency of mailbox access etc.

There are many things to consider about multi-geo but you must populate attribute preferredDataLocation  on mailboxes in office 365 to that Microsoft can move those in your desired region. Please note that preferredDataLocation attributed isn’t populated automatically.

If you have all mailboxes hosted in office 365 then update preferredDataLocation attribute directly in office 365 and you don’t need to use Azure AD Connect but if you have objects syncing using Azure AD Connect then please follow rest of the article. I will explain how to update and test that it worked perfectly.

My Office 365 tenant is hosted in India and that’s the reason, Here database name of one of the mailboxdatabase is starting with IN.


  • Office 365 without Azure AD Connect.
    • Connect to MSOLOnline using global administrator credentials.
    • By Default Mailboxes are created in location where your tenant is hosted.
    • You can run below commands to verify and and set preferredDataLocation .3.png
    • Not further action would be required.

Let’s proceed further to configure Azure AD Connect :-

  • You must be running Azure AD Connect version 1.1.524.0 or later.
  • Decide on a single-valued attribute in Active Directory, I will be using extensionAttribute1 for this purpose.
  • Run this command on AD Connect server to Disable sync to avoid any issue when you make changes.
    Set-ADSyncScheduler -SyncCycleEnabled $false.
  • Add source attribute to the on-premises Active Directory Connector schema, by default extensionAttribute1 is already synced but for any other selection, you would have check mark that in ‘Synchronization Manager’ on AD Connect Server.4.PNG
  • Add source attribute to the Azure Active Directory Connector schema.
    • check mark preferredDataLocation attribute, this is not populated by default.5.PNG
  • Create an inbound synchronization rule.
    • Launch ‘synchronization rule editor’ and make sure direction is ‘Inbound’ and click on ‘Add new Rule’ Fill info like below. Here select on-prem ad for ‘Connected System’6
    • Click Next and skip this.7
    • Click Next and skip this.8
    • Add Transformation and fill information like below and click ‘Add’ in bottom of the page: 9
    • Now you will see option entry like below : 10
  • Create an outbound synchronization rule.
    • Launch ‘synchronization rule editor’ and make sure direction is ‘Outbound‘ and click on ‘Add new Rule’ Fill info like below. Here select Azure AD for ‘Connected System’11
    • Fill info like below : 12
    • Fill info like below : 13
    • Now you will see option entry like below : 14
  • Run full synchronization cycle by running command, it make take time depending your object count.
    • Start-ADSyncSyncCycle -PolicyType Initial15.PNG
    • I updated extensionAttribute1 value of user
    • I can see in Azure AD Connect that value shows being updated and transformation happened.18.PNG
    • I can see that value has been updated in office 365 as well. Here is the screenshot before and after sync.19.PNG
    • Since everything is working fine, enable the automatic sync again.

                    Set-ADSyncScheduler -SyncCycleEnabled $true.

    • At this point, mailbox data would still reside at India Location but later it will be migrated as per Microsoft’s schedule.20.PNG
    • At this time, i could see a old move, I will post the screenshot again, once mailbox is moved to Europe.21.png

Thank you for reading !

Please check this article if you are using non extension attribute.