Office 365 Features Limitations/Restrictions by Location
Many of the people might get confused or probably never focused on why we need to specify usage location while assigning a license to end user in Office 365? What’s the purpose of UsageLocation? Is it same as of Country field populated in Active Directory?
If you look at a cloud user via PowerShell, you’ll also notice that there is a separate “UsageLocation” attribute. This attribute is the one used while assigning a license to a user in office 365. Some features in Office 365 are not allowed in certain countries and “Microsoft” determines this with the help of UsageLocation attribute. When you assign a license to a user and specify the usage location of Office 365 services, Microsoft apply usage restriction to those particular users based on their usage location. e.g. Hosted Voice Mail and Lync audio/video is not allowed in Brunei and if you try to enable Hosted voice Mail for a user with “UsageLocation” of Brunei, you’ll get an error message stating that “This feature is not available in the location indicated in this user’s UsageLocation“. Now we understand the reason behind this attribute, there are a couple of ways to set usage location for users in Office 365.
- Office 365 Portal
- Local Active Directory
When you assign a license to a user in Office 365 portal using PS or GUI you specify a UsageLocation. We can specify UsageLocation in local active directory and Dir Sync or AAD Sync can sync the usage location to office 365 and override the information. If you look at the connectors in DirSync and AADSync, you’ll see that “UsageLocation” in the Azure Active Directory is mapped to “msExchUsageLocation” on-premises. You can populate the attribute either in the cloud or on-premises. Mostly attributes are only writable on one side or the other. Based on the flow rules, the on-premises value will take precedence and overwrite existing data in the cloud.
Valid values for “msExchUsageLocation” appear to be the same as those for the “Country” field (attribute name = “c”); basically it’s the 2-letter ISO code for the country.
Usage Restriction details can be found here.