Configuring Office 365 Preferred Language Settings

Introduction

Office 365 empower organizations to use cloud based services for their business to ensure anytime anywhere access to corporate information. When you setup Office 365 tenant for an organization with offices in different regions then you’re also required to empower your end users to setup up their own preferred language settings in Office 365. For example, if you have a user in Japan then his preference will be to use Japanese language for his Office 365 portal instead of using English. In Office 365 you can set up language settings for users based on how you setup identities in Office 365. You can easily update language settings for users using PowerShell. Preferred language settings depends on how user identity is provisioned. If you have cloud based identities then you need to use Azure AD to modify the user account properties in Office 365. If you are using Azure AD Connect to sync on-premises active directory accounts with Office 365, then you have to update the settings in local active directory.

Configuring Office 365 Preferred Language Settings for Cloud Identities

Configuring Office 365 language settings for cloud based identities requires you to connect with Azure AD powershell. Perform the following steps to configure these settings.

  • Connect with Azure AD powershell using global admin credentials

C:\> Connect-MsolService

Configuring Office 365 Preferred Language Settings

  • Run the following cmdlet to configure the preferred language settings for user pgarcia@msexperttalk.com to Urdu

PS C:\> Set-MsolUser -UserPrincipalName pgarcia@msexperttalk.com -PreferredLanguage “ur-PK”

  • To verify the language settings for the user account, run the following PS cmdlet

PS C:\> Get-MsolUser -UserPrincipalName pgarcia@msexperttalk.com | fl PreferredLanguage

Configuring Office 365 Preferred Language Settings

Configuring Office 365 Preferred Language Settings for Synced Identities

When you are using synced identities with Office 365, you need to modify the on-premises user attribute in Active Directory to setup preferred language in Office 365. To modify the preferred language in Office 365 to Urdu for a user Phil, you need to set the “PreferredLanguage” attribute in user account properties in Active Directory. By default, this attribute does not contain any value and set to use English as default language.

  • To modify the individual user account properties, you can run the following PowerShell cmdlet.

Set-ADUser pgarcia@msexperttalk.com -Replace @{‘PreferredLanguage’=”ur-PK”}

  • To update the preferred language attribute in a specific OU, run the following cmdlet.

Get-ADUser SearchBase “OU=Test,OU=IT, DC=msexperttalk,DC=com” Filter * Properties PreferredLanguage | ForEach-Object {Set-ADUser $_.SAMAccountName –replace @{PreferredLanguage=“ur-PK”}}

  • To update the preferred language attribute of users in a specific domain, run the following cmdlet. Following cmdlet will set the attribute for those users who do not have any this attribute setup.

Set-AdServerSettings -RecipientViewRoot “msexperttalk.com”
#Change language to ur-PK for all users with a setting of NULL in the MSExpertTalk.com domain
Get-ADUser -SearchBase “DC=msexperttalk,DC=com” -Filter * -Properties PreferredLanguage | where {$_.PreferredLanguage -eq $null} | Select SAMAccountName | ForEach-Object {Set-ADUser $_.SAMAccountName –replace @{PreferredLanguage=”ur-PK”}}

Preferred Language attribute settings will update the language for the following in Office 365.

  • Office 365 Default Landing page
  • General settings and menu
  • Office 365 Management portal
  • Video
  • Groups
  • OneDrive for Business
  • Delve
  • Office Online
  • Planner

To review a complete list of available language codes, please visit the Microsoft TechNet site.

View OneDrive for Business files of a user in Office 365

Introduction to OneDrive for Business

OneDrive for Business is an integral part of Office 365 or SharePoint Server, and provides place in the cloud where you can store, share, and sync your work files. You can update and share your files from any device with OneDrive for Business. You can even work on Office documents with others at the same time.

OneDrive for Business is different from OneDrive, which is intended for personal storage separate from your workplace. OneDrive for Business is also different from your Office 365 team site, which is intended for storing team or project-related documents. OneDrive for business provides 1TB of personal storage to a user.

Sometimes when a user leaves the organization or for any reason, administrator is being asked to access users OneDrive for Business environment or monitor the activities of user in his personal space given by Office 365 as part of organizational subscription. Recently i came across a scenario where a user reported that he is unable to access his OneDrive for Business content after a tenant migration and i was being asked to verify the content still exist in source tenant. I didn’t have the credentials of user account. As we all know, OneDrive for Business is SharePoint Online under the hood. By default only the user has administrative access of his OneDrive for Business as its a personal storage. If you open OneDrive for Business for another user you can only see files that are shared with you or everyone.

View OneDrive for Business files of a user

To view OneDrive for Business documents of a user, we need to have administrative access to My Site of user as OneDrive For Business stores the content of user in “My Site”. Below are the steps that you need to perform to gain the access.

  • Login to Office 365 tenant using Global Admin account
  • Navigate to SharePoint Admin Center from Office 365 admin centers

View OneDrive for Business files of a user

 

  • Under SharePoint admin Center, Select “User Profiles” on the left

View OneDrive for Business files of a user

 

  • Under user profiles, click on “Manage User Profiles”

View OneDrive for Business files of a user

 

  • Search for the user account to whom you would like to have access and click on “Manage site collection owners”

View OneDrive for Business files of a user

  • Add the user account to whom you would like to provide access to user OneDrive for Business

View OneDrive for Business files of a user

  • Once you’ve assigned the permissions, Click on “Manage Personal site” 

View OneDrive for Business files of a user

  • Under “Manage Personal Site” click on Documents to view the documents of the user stored in OneDrive for Business

View OneDrive for Business files of a user

  • As you can see, I’m logged in with a user “Riaz Javed Butt” and can view the OneDrive for Business content of user “Phil Garcia”.

View OneDrive for Business files of a user

 

 

Exchange 2016 error “A valid migration mailbox could not be found for this organization”

Introduction

Microsoft Exchange Server system mailboxes are also known as “Arbitration” mailbox. Exchange Server use these arbitration mailboxes for various tasks like eDiscovery Search Metadata, Admin audit logs, OAB, Mailbox Migration, UM data like menus, dial plan etc. These mailboxes are automatically created when you setup first exchange server and the process of preparing Active Directory creates these accounts in root domain of your active directory during the process of AD preparation. These mailboxes can be seen via Exchange Management Shell by running the following EMS cmdlet.

C:\>Get-Mailbox –Arbitration

Below are the arbitration mailboxes created by Exchange Server during the installation with a disable AD account in root active directory under users OU.

  • SystemMailbox{1f05a927-eac1-46e7-9a47-611e1a81bb50}
  • SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
  • SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
  • Migration.8f3e7716-2011-43e4-96b1-aba62d229136

Today I have been working on Exchange Server 2010 to Exchange Server 2016 upgrade and got the following error message with a user mailbox migration batch.

Exchange 2016 error "A valid migration mailbox could not be found for this organization"

Microsoft has the solution documented in the KB article 2812509. The reason for error is that the migration mailbox is either not enabled or was deleted. When you use the New-MigrationBatch cmdlet, the Migration mailbox must exist and be enabled or else you won’t be able to migrate the mailboxes.

Although the migration arbitration mailbox is created upon initial installation of your Exchange server 2016, this account can be corrupted or being deleted by mistake. You can easily re-create this account by running the following EMS cmdlets.

How to Fix It?

  • Firstly step is to ensure that the account Migration.8f3e7716-2011-43e4-96b1-aba62d229136 does not exist

Get-Mailbox -Arbitration | fl name, alias

  • Prepare your active directory by running the following cmdlet in Windows PowerShell

.\Setup /PrepareAD /IAcceptExchangeServerLicenseTerms

Exchange 2016 error "A valid migration mailbox could not be found for this organization"

  • Once the AD preparation is completed, Verify that the account exist under default Users OU in root active directory
  • Enable the Arbitration mailbox used for migration

Enable-Mailbox -Arbitration -Identity “Migration.8f3e7716-2011-43e4-96b1-aba62d229136”

Exchange 2016 error "A valid migration mailbox could not be found for this organization"

  • Configure the migration arbitration mailbox as below

Set-Mailbox “Migration.8f3e7716-2011-43e4-96b1-aba62d229136” -Arbitration –Management:$true

Exchange 2016 error "A valid migration mailbox could not be found for this organization"Once the arbitration mailbox is enabled and configured properly, Create the migration batch to migrate user mailboxes from one database to another.

For more information on Exchange 2016, please go through the following blog posts.

 

Installing an Exchange Server 2016 Database Availability Group (DAG)

Introduction

Database Availability Group (DAG) is a high availability and site-resilience framework to Exchange Mailbox server that gives you the capabilities to ensure the availability of your database. Database availability group (DAG) was first introduced in Exchange Server 2010. DAG can support up to Sixteen mailbox servers in a single DAG group. Any server in a DAG can host a copy of a mailbox database from any other server who is member of DAG group.

If you have not installed your Exchange Server 2016 yet, follow the step by step guide to deploy your Exchange server 2016 from here

Installing an Exchange Server 2016 Database Availability Group (DAG)

I am going to install a 2 node IP less DAG in single AD site with a third Windows server in the same site as the file share witness. IP less DAG has no cluster administrative access point (CAAP) and do not support backup application that relay on cluster administrative access point for backup.  To Install an Exchange Server 2016 DAG, follow the steps mentioned below.

  • Login to Exchange 2016 server as administrator
  • Navigate to Servers > Database Availability Groups and click on + icon

Installing an Exchange Server 2016 Database Availability Group (DAG)

  • Specify your DAG name, Witness Server and witness directory and click on Save. As I’m using a 3rd server as Witness server that do not hold any Exchange server service. You need to add “Exchange trusted subsystem” to local admin group on witness server.

Installing an Exchange Server 2016 Database Availability Group (DAG)Installing an Exchange Server 2016 Database Availability Group (DAG)

If you leave the Witness Server field empty, wizard will search for an Exchange 2016 server with Client Access services, and it will automatically create the specified witness directory on that server, share the directory, and configure the DAG to use that Exchange 2016 server with Client Access services as its witness server.

  • Once the DAG group is created, the next step is to add members to DAG. To add member servers, Select the DAG group and click on Settings icon

Installing an Exchange Server 2016 Database Availability Group (DAG)

  • Add member servers to the DAG group

Installing an Exchange Server 2016 Database Availability Group (DAG) Installing an Exchange Server 2016 Database Availability Group (DAG)

  • Your DAG is installed and has 2 member servers added. The last step is to setup DatacenterActivationMode to “DAGOnly”. Run the following Exchange Management Shell cmdlet to set DatacenterActivationMode

Set-DatabaseAvailabilityGroup -Identity Dag01 -DatacenterActivationMode DagOnly

Installing an Exchange Server 2016 Database Availability Group (DAG)Once your DAG is setup. Last step is to add database copies to DAG and distribute your database load on multiple servers.

For more information on Exchange 2016, please go through the following blog posts.

Troubleshoot Exchange 2016 Error Database is mandatory on UserMailbox

Recently I have been working with a customer to upgrade from Exchange Server 2010 to Exchange Server 2016 and run into an issue. During the installation, Exchange setup failed on step 9 with below error message.

Troubleshoot Exchange 2016 Error Database is mandatory on UserMailbox

Looking at the error message in detail i noticed the following error.

The following error was generated when “$error.Clear();

if ( ($server -eq $null) -and ($RoleIsDatacenter -ne $true) )

{

Update-RmsSharedIdentity -ServerName $RoleNetBIOSName

}

” was run: “Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.

at Microsoft.Exchange.Data.Directory.ADDataSession.Save(ADObject instanceToSave, IEnumerable`1 properties, Boolean bypassValidation)

at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientObjectSession.Save(ADRecipient instanceToSave)

at Microsoft.Exchange.Management.Deployment.UpdateRmsSharedIdentity.Link()

at Microsoft.Exchange.Management.Deployment.UpdateRmsSharedIdentity.InternalProcessRecord()

at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__b()

at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)”.

How to Fix It?

As you can see from the error message that Exchange Server 2016 installation is trying to retrieve a system mailbox with the name of “SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}“. This error message is being caused by system mailbox that does not have mailbox database associated with the mailbox. I have seen this scenario where you have not decommissioned your Exchange server properly. To verify this issue, run the following Exchange Management Shell (EMS) cmdlet.

Get-Mailbox -Arbitration | ft Name, ServerName, Database -Auto

Troubleshoot Exchange 2016 Error Database is mandatory on UserMailboxAs you can see, I had two mailboxes that do not have mailbox database assigned. In active directory theses accounts exist in default Users OU.To fix this issue,, delete these accounts from active directory and wait for AD replication. Once the AD replication is completed, re-run the cmdlet to verify the system mailboxes have been deleted from Exchange Server.

Troubleshoot Exchange 2016 Error Database is mandatory on UserMailboxFor more information on Exchange 2016, please go through the following blog posts.

1 2