Forum Discussion

DutchAdmin12's avatar
DutchAdmin12
Copper Contributor
Jul 02, 2021

Exchange 2010 to 2019 problems

Hi ,

I will try to explain my situation as best as I can.

 

We are still running exchange 2010 DAG and we wanted to upgrade to 2016 and then migrate to 2019.

 

Did my fair share of servers but this one baffles me.

T

he problem is setup fails on the arbitration mailboxes i tried to delete them / recreate them and then enable-mailbox on them but the error i get is that they are configured on exchange 1.1 ( exchange 2016) by preparead.

 

I cant do preparead and then enable the arbitration mailboxes on exchange 2010 because my forest levels and exchange schema's are higher than SP3 ofcourse.

 

I am stuck because I can't enable-mailbox-arbitration without a powershell that is connecting to 2016 and that does not work because setup keeps failing on mailbox role.

 

So tdlr :

Installed 2016 CU19  , setup failed with mandatory database error 

Deleted all the arbitration mailboxes and did prepare ad with 2016 to recreate them

Cant enable them because I dont have a working exchange 2016 powershell.

Deleted them again and tried with my old exchange 2010 server and cant enable the arbitration mailboxes with the commands because it states that my version objects are ready only and are created in 1.1.

Tried changing the version number of exchange in adsiedit to do a SP3  setup preparead and that fails because Exchange 2016 CU19 upgraded my schemas...

 

There are 156 customers on this server alone so starting all over is not really a option.


I am open to advice.

 

This is very important for me in the hope some one can help me 🙂

 

Thanks in advance and excuse my poor grammatical english.

  • I am missing why you can't do setup.exe /PrepareAD using Exchange 2016 instead of 2010. Can you do that in the current state, or the failure due to bad arbitration mailbox state(s) is happening even during /PrepareAD?
    • DutchAdmin12's avatar
      DutchAdmin12
      Copper Contributor
      I can use preparead and the arbitration mailboxes are in the AD after that but I cant mailbox-enable them because I dont have a working exchange powershell.

      I can use the exchange 2010 powershell but then it states that the object is created as read only in exchange 1.1 and 2010 is 1.0 if I use the mailbox enable command.

      Here are the logs :
      [01/26/2021 14:40:54.0430] [2] The properties changed on the object 'SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}' (CN=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c},CN=Users,DC=office,DC=local) are: "{ RawCapabilities[msExchCapabilityIdentifiers]={ 'OrganizationCapabilityUMGrammar', 'OrganizationCapabilityOABGen', 'OrganizationCapabilityGMGen', 'OrganizationCapabilityClientExtensions', 'OrganizationCapabilityMailRouting', 'OrganizationCapabilityMessageTracking', 'OrganizationCapabilityPstProvider' }, PersistedCapabilities[msExchCapabilityIdentifiers]={ 'OrganizationCapabilityUMGrammar', 'OrganizationCapabilityOABGen', 'OrganizationCapabilityGMGen', 'OrganizationCapabilityClientExtensions', 'OrganizationCapabilityMailRouting', 'OrganizationCapabilityMessageTracking', 'OrganizationCapabilityPstProvider' }, MaxSendSize[submissionContLength]='1 GB (1,073,741,824 bytes)' }".
      [01/26/2021 14:40:54.0430] [2] Saving object "office.local/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}" of type "ADMailboxRecipient" and state "Changed".
      [01/26/2021 14:40:54.0446] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:54.0508] [2] Ending processing set-mailbox
      [01/26/2021 14:40:54.0508] [2] Beginning processing Write-ExchangeSetupLog
      [01/26/2021 14:40:54.0508] [2] Configuring offline address book(s) for this mailbox
      [01/26/2021 14:40:54.0508] [2] Ending processing Write-ExchangeSetupLog
      [01/26/2021 14:40:54.0524] [2] Active Directory session settings for 'Get-OfflineAddressBook' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:54.0524] [2] User specified parameters:
      [01/26/2021 14:40:54.0524] [2] Beginning processing Get-OfflineAddressBook
      [01/26/2021 14:40:54.0524] [2] Active Directory session settings for 'Set-OfflineAddressBook' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:54.0524] [2] User specified parameters: -GeneratingMailbox:'office.local/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}'
      [01/26/2021 14:40:54.0524] [2] Beginning processing Set-OfflineAddressBook
      [01/26/2021 14:40:54.0524] [2] Searching objects of type "OfflineAddressBook" with filter "$null", scope "SubTree" under the root "$null".
      [01/26/2021 14:40:54.0524] [2] Request filter in Get Task: (&(objectCategory=msExchOAB)(|(&(msExchVersion<=1125899906842624)(!(msExchVersion=1125899906842624)))(!(msExchVersion=*)))).
      [01/26/2021 14:40:54.0571] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:54.0571] [2] Preparing to output objects. The maximum size of the result set is "Unlimited".
      [01/26/2021 14:40:54.0586] [2] Searching objects "\Default Offline Address Book (Ex2013)" of type "OfflineAddressBook" under the root "$null".
      [01/26/2021 14:40:54.0602] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0102] [2] Searching objects "office.local/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}" of type "ADUser" under the root "$null".
      [01/26/2021 14:40:55.0102] [2] Previous operation run on global catalog server 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0102] [2] Processing object "\Default Offline Address Book (Ex2013)".
      [01/26/2021 14:40:55.0117] [2] The properties changed on the object 'Default Offline Address Book (Ex2013)' (CN=Default Offline Address Book (Ex2013),CN=Offline Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=office,DC=local) are: "{ GeneratingMailbox[msExchOABGeneratingMailboxLink]='office.local/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}' }".
      [01/26/2021 14:40:55.0117] [2] Saving object "\Default Offline Address Book (Ex2013)" of type "OfflineAddressBook" and state "Changed".
      [01/26/2021 14:40:55.0180] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0196] [2] Ending processing Get-OfflineAddressBook
      [01/26/2021 14:40:55.0196] [2] Ending processing Set-OfflineAddressBook
      [01/26/2021 14:40:55.0196] [1] Executing:
      if (($RoleIsDatacenter -ne $true) -and ($RoleIsDatacenterDedicated -ne $true))
      {
      if (test-ExchangeServersWriteAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue)
      {
      $sysMbx = $null;
      $name = "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}";
      $dispname = "Microsoft Exchange";
      $mbxs = @( get-mailbox -arbitration -Filter {name -eq $name} -IgnoreDefaultScope -resultSize 1 );
      if ( $mbxs.length -eq 0)
      {
      $dbs = @(get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController);
      if ($dbs.Length -ne 0)
      {
      $arbUsers = @(get-user -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1);
      if ($arbUsers.Length -ne 0)
      {
      $sysMbx = enable-mailbox -Arbitration -identity $arbUsers[0] -DisplayName $dispname -database $dbs[0].Identity;
      }
      }
      }
      else
      {
      if ($mbxs[0].DisplayName -ne $dispname )
      {
      set-mailbox -Arbitration -identity $mbxs[0] -DisplayName $dispname -Force;
      }
      $sysMbx = $mbxs[0];
      }

      # Set the Organization Capabilities needed for this mailbox
      if ($sysMbx -ne $null)
      {
      Write-ExchangeSetupLog -Info ("Setting mailbox properties.");
      set-mailbox -Arbitration -identity $sysMbx -UMDataStorage:$true -Force;

      # No RetentionPolicy assigned to E-Discovery arbitration mailbox currently, we need to set it here.
      # This can be remove after BUG(O15#2555914) is fixed.
      if ($sysMbx.RetentionPolicy -eq $null )
      {
      $arbitrationRetentionPolicy = @(Get-RetentionPolicy -DomainController $RoleDomainController | where {$_.Name -eq 'ArbitrationMailbox'});
      set-mailbox -Arbitration -identity $sysMbx -RetentionPolicy $arbitrationRetentionPolicy[0].Identity -Force;
      }
      }
      else
      {
      Write-ExchangeSetupLog -Info ("Cannot find E-discovery arbitration mailbox with name=$name.");
      }
      }
      else
      {
      write-exchangesetuplog -info "Skipping creating Discovery Arbitration Mailbox because of insufficient permission."
      }
      }

      [01/26/2021 14:40:55.0211] [2] Active Directory session settings for 'test-ExchangeServersWriteAccess' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:55.0211] [2] User specified parameters: -DomainController:'SERVER6.office.local' -ErrorAction:'SilentlyContinue'
      [01/26/2021 14:40:55.0211] [2] Beginning processing test-ExchangeServersWriteAccess
      [01/26/2021 14:40:55.0211] [2] Used domain controller SERVER6.office.local to read object DC=office,DC=local.
      [01/26/2021 14:40:55.0211] [2] Used domain controller SERVER6.office.local to read object CN=Exchange Servers,OU=Microsoft Exchange Security Groups,DC=office,DC=local.
      [01/26/2021 14:40:55.0211] [2] The current user has write access to Exchange Servers group.
      [01/26/2021 14:40:55.0211] [2] Ending processing test-ExchangeServersWriteAccess
      [01/26/2021 14:40:55.0211] [2] Active Directory session settings for 'Get-Mailbox' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:55.0211] [2] User specified parameters: -Arbitration:'True' -Filter:'name -eq $name' -IgnoreDefaultScope:'True' -ResultSize:'1'
      [01/26/2021 14:40:55.0211] [2] Beginning processing get-mailbox
      [01/26/2021 14:40:55.0227] [2] Searching objects of type "ADMailboxRecipient" with filter "(&((RecipientTypeDetails Equal ArbitrationMailbox)(Name Equal SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9})))", scope "SubTree" under the root "$null".
      [01/26/2021 14:40:55.0227] [2] Request filter in Get Task: (&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=8388608)(name=SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9})(!(msExchCU=*))(|(&(msExchVersion<=2251799813685248)(!(msExchVersion=2251799813685248)))(!(msExchVersion=*)))).
      [01/26/2021 14:40:55.0227] [2] Internal Query Filter in Get Task: (&((RecipientTypeDetails Equal ArbitrationMailbox)(Name Equal SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}))).
      [01/26/2021 14:40:55.0227] [2] Previous operation run on global catalog server 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0227] [2] Preparing to output objects. The maximum size of the result set is "1".
      [01/26/2021 14:40:55.0258] [2] Searching objects "Mailboxdatabase01" of type "MailboxDatabase" under the root "$null".
      [01/26/2021 14:40:55.0258] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0321] [2] [ERROR] Database is mandatory on UserMailbox.
      [01/26/2021 14:40:55.0321] [2] Ending processing get-mailbox
      [01/26/2021 14:40:55.0336] [2] Active Directory session settings for 'Get-MailboxDatabase' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:55.0336] [2] User specified parameters: -Server:'SRV4.office.local' -DomainController:'SERVER6.office.local'
      [01/26/2021 14:40:55.0336] [2] Beginning processing get-MailboxDatabase
      [01/26/2021 14:40:55.0336] [2] Searching objects "SRV4.office.local" of type "Server" under the root "$null".
      [01/26/2021 14:40:55.0367] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0367] [2] Searching objects of type "MailboxDatabase" with filter "$null", scope "SubTree" under the root "SRV4".
      [01/26/2021 14:40:55.0430] [2] Ending processing get-MailboxDatabase
      [01/26/2021 14:40:55.0445] [2] Active Directory session settings for 'Get-User' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:55.0445] [2] User specified parameters: -Filter:'name -eq $name' -IgnoreDefaultScope:'True' -ResultSize:'1'
      [01/26/2021 14:40:55.0445] [2] Beginning processing get-user
      [01/26/2021 14:40:55.0445] [2] Searching objects of type "ADUser" with filter "(&((|((RecipientTypeDetails Equal RoomMailbox)(RecipientTypeDetails Equal LinkedRoomMailbox)(RecipientTypeDetails Equal DisabledUser)(RecipientTypeDetails Equal EquipmentMailbox)(RecipientTypeDetails Equal SchedulingMailbox)(RecipientTypeDetails Equal LegacyMailbox)(RecipientTypeDetails Equal LinkedMailbox)(RecipientTypeDetails Equal UserMailbox)(RecipientTypeDetails Equal MailUser)(RecipientTypeDetails Equal GuestMailUser)(RecipientTypeDetails Equal SharedMailbox)(RecipientTypeDetails Equal TeamMailbox)(RecipientTypeDetails Equal DiscoveryMailbox)(RecipientTypeDetails Equal User)(RecipientTypeDetails Equal LinkedUser)(RecipientTypeDetails Equal RemoteUserMailbox)(RecipientTypeDetails Equal RemoteRoomMailbox)(RecipientTypeDetails Equal RemoteEquipmentMailbox)(RecipientTypeDetails Equal RemoteSharedMailbox)(RecipientTypeDetails Equal RemoteTeamMailbox)))(Name Equal SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9})))", scope "SubTree" under the root "$null".
      [01/26/2021 14:40:55.0445] [2] Request filter in Get Task: (&(|(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=1))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=2))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=4))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(|(!(msExchRecipientTypeDetails=*))(msExchRecipientTypeDetails=8)))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=16))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=32))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(|(msExchRecipientTypeDetails=128)(msExchRecipientTypeDetails=16)(!(msExchRecipientTypeDetails=*))))(&(!(!(objectClass=user)))(objectCategory=person)(!(mailNickname=*))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))(&(!(!(objectClass=user)))(objectCategory=person)(!(mailNickname=*))(userAccountControl:1.2.840.113556.1.4.803:=2)(|(!(msExchRecipientTypeDetails=*))(msExchRecipientTypeDetails=2097152)))(&(!(!(objectClass=user)))(objectCategory=person)(!(mailNickname=*))(msExchRecipientTypeDetails=33554432))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=536870912))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=2147483648))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=8589934592))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=17179869184))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=34359738368))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=137438953472))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=274877906944))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=2199023255552))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=17592186044416))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=35184372088832)))(name=SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9})(!(msExchCU=*))(|(&(msExchVersion<=2251799813685248)(!(msExchVersion=2251799813685248)))(!(msExchVersion=*)))).
      [01/26/2021 14:40:55.0445] [2] Internal Query Filter in Get Task: (&((|((RecipientTypeDetails Equal RoomMailbox)(RecipientTypeDetails Equal LinkedRoomMailbox)(RecipientTypeDetails Equal DisabledUser)(RecipientTypeDetails Equal EquipmentMailbox)(RecipientTypeDetails Equal SchedulingMailbox)(RecipientTypeDetails Equal LegacyMailbox)(RecipientTypeDetails Equal LinkedMailbox)(RecipientTypeDetails Equal UserMailbox)(RecipientTypeDetails Equal MailUser)(RecipientTypeDetails Equal GuestMailUser)(RecipientTypeDetails Equal SharedMailbox)(RecipientTypeDetails Equal TeamMailbox)(RecipientTypeDetails Equal DiscoveryMailbox)(RecipientTypeDetails Equal User)(RecipientTypeDetails Equal LinkedUser)(RecipientTypeDetails Equal RemoteUserMailbox)(RecipientTypeDetails Equal RemoteRoomMailbox)(RecipientTypeDetails Equal RemoteEquipmentMailbox)(RecipientTypeDetails Equal RemoteSharedMailbox)(RecipientTypeDetails Equal RemoteTeamMailbox)))(Name Equal SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}))).
      [01/26/2021 14:40:55.0445] [2] Previous operation run on global catalog server 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0445] [2] Preparing to output objects. The maximum size of the result set is "1".
      [01/26/2021 14:40:55.0445] [2] Ending processing get-user
      [01/26/2021 14:40:55.0445] [2] Beginning processing Write-ExchangeSetupLog
      [01/26/2021 14:40:55.0445] [2] Cannot find E-discovery arbitration mailbox with name=SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}.
      [01/26/2021 14:40:55.0445] [2] Ending processing Write-ExchangeSetupLog
      [01/26/2021 14:40:55.0445] [1] The following 1 error(s) occurred during task execution:
      [01/26/2021 14:40:55.0445] [1] 0. ErrorRecord: Database is mandatory on UserMailbox.
      [01/26/2021 14:40:55.0445] [1] 0. ErrorRecord: Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.TryRunADOperation(ADOperation operation, Boolean throwExceptions)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.Initialize(OrganizationId organizationId, CacheNotificationHandler cacheNotificationHandler, Object state)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.InitializeAndAddPerTenantSettings(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Object state)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.TryGetValue(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Boolean& hasExpired, Object state)
      at Microsoft.Exchange.Management.RecipientTasks.GetMailbox.ConvertDataObjectToPresentationObject(IConfigurable dataObject)
      at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.WriteResult(IConfigurable dataObject)
      at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.WriteResult[T](IEnumerable`1 dataObjects)
      at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.GetObjectWithIdentityTaskBase`2.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.InternalProcessRecord()
      at Microsoft.Exchange.Management.RecipientTasks.GetRecipientWithAddressListBase`2.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
      at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)
      [01/26/2021 14:40:55.0445] [1] [ERROR] The following error was generated when "$error.Clear();
      if (($RoleIsDatacenter -ne $true) -and ($RoleIsDatacenterDedicated -ne $true))
      {
      if (test-ExchangeServersWriteAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue)
      {
      $sysMbx = $null;
      $name = "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}";
      $dispname = "Microsoft Exchange";
      $mbxs = @( get-mailbox -arbitration -Filter {name -eq $name} -IgnoreDefaultScope -resultSize 1 );
      if ( $mbxs.length -eq 0)
      {
      $dbs = @(get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController);
      if ($dbs.Length -ne 0)
      {
      $arbUsers = @(get-user -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1);
      if ($arbUsers.Length -ne 0)
      {
      $sysMbx = enable-mailbox -Arbitration -identity $arbUsers[0] -DisplayName $dispname -database $dbs[0].Identity;
      }
      }
      }
      else
      {
      if ($mbxs[0].DisplayName -ne $dispname )
      {
      set-mailbox -Arbitration -identity $mbxs[0] -DisplayName $dispname -Force;
      }
      $sysMbx = $mbxs[0];
      }

      # Set the Organization Capabilities needed for this mailbox
      if ($sysMbx -ne $null)
      {
      Write-ExchangeSetupLog -Info ("Setting mailbox properties.");
      set-mailbox -Arbitration -identity $sysMbx -UMDataStorage:$true -Force;

      # No RetentionPolicy assigned to E-Discovery arbitration mailbox currently, we need to set it here.
      # This can be remove after BUG(O15#2555914) is fixed.
      if ($sysMbx.RetentionPolicy -eq $null )
      {
      $arbitrationRetentionPolicy = @(Get-RetentionPolicy -DomainController $RoleDomainController | where {$_.Name -eq 'ArbitrationMailbox'});
      set-mailbox -Arbitration -identity $sysMbx -RetentionPolicy $arbitrationRetentionPolicy[0].Identity -Force;
      }
      }
      else
      {
      Write-ExchangeSetupLog -Info ("Cannot find E-discovery arbitration mailbox with name=$name.");
      }
      }
      else
      {
      write-exchangesetuplog -info "Skipping creating Discovery Arbitration Mailbox because of insufficient permission."
      }
      }
      " was run: "Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.TryRunADOperation(ADOperation operation, Boolean throwExceptions)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.Initialize(OrganizationId organizationId, CacheNotificationHandler cacheNotificationHandler, Object state)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.InitializeAndAddPerTenantSettings(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Object state)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.TryGetValue(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Boolean& hasExpired, Object state)
      at Microsoft.Exchange.Management.RecipientTasks.GetMailbox.ConvertDataObjectToPresentationObject(IConfigurable dataObject)
      at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.WriteResult(IConfigurable dataObject)
      at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.WriteResult[T](IEnumerable`1 dataObjects)
      at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.GetObjectWithIdentityTaskBase`2.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.InternalProcessRecord()
      at Microsoft.Exchange.Management.RecipientTasks.GetRecipientWithAddressListBase`2.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
      at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)".
      [01/26/2021 14:40:55.0445] [1] [ERROR] Database is mandatory on UserMailbox.
      [01/26/2021 14:40:55.0461] [1] [ERROR-REFERENCE] Id=SystemAttendantDependent___04cc4ecfc25f40a6bf13fe2fb767ae60 Component=EXCHANGE14:\Current\Release\PIM Storage\Discovery
      [01/26/2021 14:40:55.0461] [1] Setup is stopping now because of one or more critical errors.
      [01/26/2021 14:40:55.0461] [1] Finished executing component tasks.
      [01/26/2021 14:40:55.0477] [1] Ending processing Install-MailboxRole
      [01/26/2021 14:40:55.0492] [0] CurrentResult console.ProcessRunInternal:198: 1
      [01/26/2021 14:40:55.0492] [0] CurrentResult launcherbase.maincore:90: 1
      [01/26/2021 14:40:55.0492] [0] CurrentResult console.startmain:52: 1
      [01/26/2021 14:40:55.0492] [0] CurrentResult SetupLauncherHelper.loadassembly:452: 1
      [01/26/2021 14:40:55.0492] [0] The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.
      [01/26/2021 14:40:55.0492] [0] CurrentResult main.run:235: 1
      [01/26/2021 14:40:55.0492] [0] CurrentResult setupbase.maincore:396: 1
      [01/26/2021 14:40:55.0492] [0] End of Setup
    • DutchAdmin12's avatar
      DutchAdmin12
      Copper Contributor

      harveer singh JeremyTBradshaw 

      I did /preparead with exchange 2016 but you need to mail-enable them after to see them and that does not work because I dont have a working exchange 2016 powershell. Exchange 2010 powershell cant enable them because it says read only and object is made in 1.1 and this is exchange 1.0

       

      Here are the setup logs : 

      [01/26/2021 14:40:54.0430] [2] The properties changed on the object 'SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}' (CN=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c},CN=Users,DC=office,DC=local) are: "{ RawCapabilities[msExchCapabilityIdentifiers]={ 'OrganizationCapabilityUMGrammar', 'OrganizationCapabilityOABGen', 'OrganizationCapabilityGMGen', 'OrganizationCapabilityClientExtensions', 'OrganizationCapabilityMailRouting', 'OrganizationCapabilityMessageTracking', 'OrganizationCapabilityPstProvider' }, PersistedCapabilities[msExchCapabilityIdentifiers]={ 'OrganizationCapabilityUMGrammar', 'OrganizationCapabilityOABGen', 'OrganizationCapabilityGMGen', 'OrganizationCapabilityClientExtensions', 'OrganizationCapabilityMailRouting', 'OrganizationCapabilityMessageTracking', 'OrganizationCapabilityPstProvider' }, MaxSendSize[submissionContLength]='1 GB (1,073,741,824 bytes)' }".
      [01/26/2021 14:40:54.0430] [2] Saving object "office.local/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}" of type "ADMailboxRecipient" and state "Changed".
      [01/26/2021 14:40:54.0446] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:54.0508] [2] Ending processing set-mailbox
      [01/26/2021 14:40:54.0508] [2] Beginning processing Write-ExchangeSetupLog
      [01/26/2021 14:40:54.0508] [2] Configuring offline address book(s) for this mailbox
      [01/26/2021 14:40:54.0508] [2] Ending processing Write-ExchangeSetupLog
      [01/26/2021 14:40:54.0524] [2] Active Directory session settings for 'Get-OfflineAddressBook' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:54.0524] [2] User specified parameters:
      [01/26/2021 14:40:54.0524] [2] Beginning processing Get-OfflineAddressBook
      [01/26/2021 14:40:54.0524] [2] Active Directory session settings for 'Set-OfflineAddressBook' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:54.0524] [2] User specified parameters: -GeneratingMailbox:'office.local/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}'
      [01/26/2021 14:40:54.0524] [2] Beginning processing Set-OfflineAddressBook
      [01/26/2021 14:40:54.0524] [2] Searching objects of type "OfflineAddressBook" with filter "$null", scope "SubTree" under the root "$null".
      [01/26/2021 14:40:54.0524] [2] Request filter in Get Task: (&(objectCategory=msExchOAB)(|(&(msExchVersion<=1125899906842624)(!(msExchVersion=1125899906842624)))(!(msExchVersion=*)))).
      [01/26/2021 14:40:54.0571] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:54.0571] [2] Preparing to output objects. The maximum size of the result set is "Unlimited".
      [01/26/2021 14:40:54.0586] [2] Searching objects "\Default Offline Address Book (Ex2013)" of type "OfflineAddressBook" under the root "$null".
      [01/26/2021 14:40:54.0602] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0102] [2] Searching objects "office.local/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}" of type "ADUser" under the root "$null".
      [01/26/2021 14:40:55.0102] [2] Previous operation run on global catalog server 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0102] [2] Processing object "\Default Offline Address Book (Ex2013)".
      [01/26/2021 14:40:55.0117] [2] The properties changed on the object 'Default Offline Address Book (Ex2013)' (CN=Default Offline Address Book (Ex2013),CN=Offline Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=office,DC=local) are: "{ GeneratingMailbox[msExchOABGeneratingMailboxLink]='office.local/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}' }".
      [01/26/2021 14:40:55.0117] [2] Saving object "\Default Offline Address Book (Ex2013)" of type "OfflineAddressBook" and state "Changed".
      [01/26/2021 14:40:55.0180] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0196] [2] Ending processing Get-OfflineAddressBook
      [01/26/2021 14:40:55.0196] [2] Ending processing Set-OfflineAddressBook
      [01/26/2021 14:40:55.0196] [1] Executing:
      if (($RoleIsDatacenter -ne $true) -and ($RoleIsDatacenterDedicated -ne $true))
      {
      if (test-ExchangeServersWriteAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue)
      {
      $sysMbx = $null;
      $name = "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}";
      $dispname = "Microsoft Exchange";
      $mbxs = @( get-mailbox -arbitration -Filter {name -eq $name} -IgnoreDefaultScope -resultSize 1 );
      if ( $mbxs.length -eq 0)
      {
      $dbs = @(get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController);
      if ($dbs.Length -ne 0)
      {
      $arbUsers = @(get-user -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1);
      if ($arbUsers.Length -ne 0)
      {
      $sysMbx = enable-mailbox -Arbitration -identity $arbUsers[0] -DisplayName $dispname -database $dbs[0].Identity;
      }
      }
      }
      else
      {
      if ($mbxs[0].DisplayName -ne $dispname )
      {
      set-mailbox -Arbitration -identity $mbxs[0] -DisplayName $dispname -Force;
      }
      $sysMbx = $mbxs[0];
      }

      # Set the Organization Capabilities needed for this mailbox
      if ($sysMbx -ne $null)
      {
      Write-ExchangeSetupLog -Info ("Setting mailbox properties.");
      set-mailbox -Arbitration -identity $sysMbx -UMDataStorage:$true -Force;

      # No RetentionPolicy assigned to E-Discovery arbitration mailbox currently, we need to set it here.
      # This can be remove after BUG(O15#2555914) is fixed.
      if ($sysMbx.RetentionPolicy -eq $null )
      {
      $arbitrationRetentionPolicy = @(Get-RetentionPolicy -DomainController $RoleDomainController | where {$_.Name -eq 'ArbitrationMailbox'});
      set-mailbox -Arbitration -identity $sysMbx -RetentionPolicy $arbitrationRetentionPolicy[0].Identity -Force;
      }
      }
      else
      {
      Write-ExchangeSetupLog -Info ("Cannot find E-discovery arbitration mailbox with name=$name.");
      }
      }
      else
      {
      write-exchangesetuplog -info "Skipping creating Discovery Arbitration Mailbox because of insufficient permission."
      }
      }

      [01/26/2021 14:40:55.0211] [2] Active Directory session settings for 'test-ExchangeServersWriteAccess' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:55.0211] [2] User specified parameters: -DomainController:'SERVER6.office.local' -ErrorAction:'SilentlyContinue'
      [01/26/2021 14:40:55.0211] [2] Beginning processing test-ExchangeServersWriteAccess
      [01/26/2021 14:40:55.0211] [2] Used domain controller SERVER6.office.local to read object DC=office,DC=local.
      [01/26/2021 14:40:55.0211] [2] Used domain controller SERVER6.office.local to read object CN=Exchange Servers,OU=Microsoft Exchange Security Groups,DC=office,DC=local.
      [01/26/2021 14:40:55.0211] [2] The current user has write access to Exchange Servers group.
      [01/26/2021 14:40:55.0211] [2] Ending processing test-ExchangeServersWriteAccess
      [01/26/2021 14:40:55.0211] [2] Active Directory session settings for 'Get-Mailbox' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:55.0211] [2] User specified parameters: -Arbitration:'True' -Filter:'name -eq $name' -IgnoreDefaultScope:'True' -ResultSize:'1'
      [01/26/2021 14:40:55.0211] [2] Beginning processing get-mailbox
      [01/26/2021 14:40:55.0227] [2] Searching objects of type "ADMailboxRecipient" with filter "(&((RecipientTypeDetails Equal ArbitrationMailbox)(Name Equal SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9})))", scope "SubTree" under the root "$null".
      [01/26/2021 14:40:55.0227] [2] Request filter in Get Task: (&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=8388608)(name=SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9})(!(msExchCU=*))(|(&(msExchVersion<=2251799813685248)(!(msExchVersion=2251799813685248)))(!(msExchVersion=*)))).
      [01/26/2021 14:40:55.0227] [2] Internal Query Filter in Get Task: (&((RecipientTypeDetails Equal ArbitrationMailbox)(Name Equal SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}))).
      [01/26/2021 14:40:55.0227] [2] Previous operation run on global catalog server 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0227] [2] Preparing to output objects. The maximum size of the result set is "1".
      [01/26/2021 14:40:55.0258] [2] Searching objects "Mailboxdatabase01" of type "MailboxDatabase" under the root "$null".
      [01/26/2021 14:40:55.0258] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0321] [2] [ERROR] Database is mandatory on UserMailbox.
      [01/26/2021 14:40:55.0321] [2] Ending processing get-mailbox
      [01/26/2021 14:40:55.0336] [2] Active Directory session settings for 'Get-MailboxDatabase' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:55.0336] [2] User specified parameters: -Server:'SRV4.office.local' -DomainController:'SERVER6.office.local'
      [01/26/2021 14:40:55.0336] [2] Beginning processing get-MailboxDatabase
      [01/26/2021 14:40:55.0336] [2] Searching objects "SRV4.office.local" of type "Server" under the root "$null".
      [01/26/2021 14:40:55.0367] [2] Previous operation run on domain controller 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0367] [2] Searching objects of type "MailboxDatabase" with filter "$null", scope "SubTree" under the root "SRV4".
      [01/26/2021 14:40:55.0430] [2] Ending processing get-MailboxDatabase
      [01/26/2021 14:40:55.0445] [2] Active Directory session settings for 'Get-User' are: View Entire Forest: 'True', Configuration Domain Controller: 'SERVER6.office.local', Preferred Global Catalog: 'SERVER6.office.local', Preferred Domain Controllers: '{ SERVER6.office.local }'
      [01/26/2021 14:40:55.0445] [2] User specified parameters: -Filter:'name -eq $name' -IgnoreDefaultScope:'True' -ResultSize:'1'
      [01/26/2021 14:40:55.0445] [2] Beginning processing get-user
      [01/26/2021 14:40:55.0445] [2] Searching objects of type "ADUser" with filter "(&((|((RecipientTypeDetails Equal RoomMailbox)(RecipientTypeDetails Equal LinkedRoomMailbox)(RecipientTypeDetails Equal DisabledUser)(RecipientTypeDetails Equal EquipmentMailbox)(RecipientTypeDetails Equal SchedulingMailbox)(RecipientTypeDetails Equal LegacyMailbox)(RecipientTypeDetails Equal LinkedMailbox)(RecipientTypeDetails Equal UserMailbox)(RecipientTypeDetails Equal MailUser)(RecipientTypeDetails Equal GuestMailUser)(RecipientTypeDetails Equal SharedMailbox)(RecipientTypeDetails Equal TeamMailbox)(RecipientTypeDetails Equal DiscoveryMailbox)(RecipientTypeDetails Equal User)(RecipientTypeDetails Equal LinkedUser)(RecipientTypeDetails Equal RemoteUserMailbox)(RecipientTypeDetails Equal RemoteRoomMailbox)(RecipientTypeDetails Equal RemoteEquipmentMailbox)(RecipientTypeDetails Equal RemoteSharedMailbox)(RecipientTypeDetails Equal RemoteTeamMailbox)))(Name Equal SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9})))", scope "SubTree" under the root "$null".
      [01/26/2021 14:40:55.0445] [2] Request filter in Get Task: (&(|(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=1))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=2))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=4))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(|(!(msExchRecipientTypeDetails=*))(msExchRecipientTypeDetails=8)))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=16))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=32))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(|(msExchRecipientTypeDetails=128)(msExchRecipientTypeDetails=16)(!(msExchRecipientTypeDetails=*))))(&(!(!(objectClass=user)))(objectCategory=person)(!(mailNickname=*))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))(&(!(!(objectClass=user)))(objectCategory=person)(!(mailNickname=*))(userAccountControl:1.2.840.113556.1.4.803:=2)(|(!(msExchRecipientTypeDetails=*))(msExchRecipientTypeDetails=2097152)))(&(!(!(objectClass=user)))(objectCategory=person)(!(mailNickname=*))(msExchRecipientTypeDetails=33554432))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=536870912))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=2147483648))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=8589934592))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=17179869184))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=34359738368))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=137438953472))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=274877906944))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=2199023255552))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(msExchRecipientTypeDetails=17592186044416))(&(!(!(objectClass=user)))(objectCategory=person)(mailNickname=*)(!(msExchHomeServerName=*))(msExchRecipientTypeDetails=35184372088832)))(name=SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9})(!(msExchCU=*))(|(&(msExchVersion<=2251799813685248)(!(msExchVersion=2251799813685248)))(!(msExchVersion=*)))).
      [01/26/2021 14:40:55.0445] [2] Internal Query Filter in Get Task: (&((|((RecipientTypeDetails Equal RoomMailbox)(RecipientTypeDetails Equal LinkedRoomMailbox)(RecipientTypeDetails Equal DisabledUser)(RecipientTypeDetails Equal EquipmentMailbox)(RecipientTypeDetails Equal SchedulingMailbox)(RecipientTypeDetails Equal LegacyMailbox)(RecipientTypeDetails Equal LinkedMailbox)(RecipientTypeDetails Equal UserMailbox)(RecipientTypeDetails Equal MailUser)(RecipientTypeDetails Equal GuestMailUser)(RecipientTypeDetails Equal SharedMailbox)(RecipientTypeDetails Equal TeamMailbox)(RecipientTypeDetails Equal DiscoveryMailbox)(RecipientTypeDetails Equal User)(RecipientTypeDetails Equal LinkedUser)(RecipientTypeDetails Equal RemoteUserMailbox)(RecipientTypeDetails Equal RemoteRoomMailbox)(RecipientTypeDetails Equal RemoteEquipmentMailbox)(RecipientTypeDetails Equal RemoteSharedMailbox)(RecipientTypeDetails Equal RemoteTeamMailbox)))(Name Equal SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}))).
      [01/26/2021 14:40:55.0445] [2] Previous operation run on global catalog server 'SERVER6.office.local'.
      [01/26/2021 14:40:55.0445] [2] Preparing to output objects. The maximum size of the result set is "1".
      [01/26/2021 14:40:55.0445] [2] Ending processing get-user
      [01/26/2021 14:40:55.0445] [2] Beginning processing Write-ExchangeSetupLog
      [01/26/2021 14:40:55.0445] [2] Cannot find E-discovery arbitration mailbox with name=SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}.
      [01/26/2021 14:40:55.0445] [2] Ending processing Write-ExchangeSetupLog
      [01/26/2021 14:40:55.0445] [1] The following 1 error(s) occurred during task execution:
      [01/26/2021 14:40:55.0445] [1] 0. ErrorRecord: Database is mandatory on UserMailbox.
      [01/26/2021 14:40:55.0445] [1] 0. ErrorRecord: Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.TryRunADOperation(ADOperation operation, Boolean throwExceptions)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.Initialize(OrganizationId organizationId, CacheNotificationHandler cacheNotificationHandler, Object state)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.InitializeAndAddPerTenantSettings(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Object state)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.TryGetValue(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Boolean& hasExpired, Object state)
      at Microsoft.Exchange.Management.RecipientTasks.GetMailbox.ConvertDataObjectToPresentationObject(IConfigurable dataObject)
      at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.WriteResult(IConfigurable dataObject)
      at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.WriteResult[T](IEnumerable`1 dataObjects)
      at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.GetObjectWithIdentityTaskBase`2.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.InternalProcessRecord()
      at Microsoft.Exchange.Management.RecipientTasks.GetRecipientWithAddressListBase`2.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
      at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)
      [01/26/2021 14:40:55.0445] [1] [ERROR] The following error was generated when "$error.Clear();
      if (($RoleIsDatacenter -ne $true) -and ($RoleIsDatacenterDedicated -ne $true))
      {
      if (test-ExchangeServersWriteAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue)
      {
      $sysMbx = $null;
      $name = "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}";
      $dispname = "Microsoft Exchange";
      $mbxs = @( get-mailbox -arbitration -Filter {name -eq $name} -IgnoreDefaultScope -resultSize 1 );
      if ( $mbxs.length -eq 0)
      {
      $dbs = @(get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController);
      if ($dbs.Length -ne 0)
      {
      $arbUsers = @(get-user -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1);
      if ($arbUsers.Length -ne 0)
      {
      $sysMbx = enable-mailbox -Arbitration -identity $arbUsers[0] -DisplayName $dispname -database $dbs[0].Identity;
      }
      }
      }
      else
      {
      if ($mbxs[0].DisplayName -ne $dispname )
      {
      set-mailbox -Arbitration -identity $mbxs[0] -DisplayName $dispname -Force;
      }
      $sysMbx = $mbxs[0];
      }

      # Set the Organization Capabilities needed for this mailbox
      if ($sysMbx -ne $null)
      {
      Write-ExchangeSetupLog -Info ("Setting mailbox properties.");
      set-mailbox -Arbitration -identity $sysMbx -UMDataStorage:$true -Force;

      # No RetentionPolicy assigned to E-Discovery arbitration mailbox currently, we need to set it here.
      # This can be remove after BUG(O15#2555914) is fixed.
      if ($sysMbx.RetentionPolicy -eq $null )
      {
      $arbitrationRetentionPolicy = @(Get-RetentionPolicy -DomainController $RoleDomainController | where {$_.Name -eq 'ArbitrationMailbox'});
      set-mailbox -Arbitration -identity $sysMbx -RetentionPolicy $arbitrationRetentionPolicy[0].Identity -Force;
      }
      }
      else
      {
      Write-ExchangeSetupLog -Info ("Cannot find E-discovery arbitration mailbox with name=$name.");
      }
      }
      else
      {
      write-exchangesetuplog -info "Skipping creating Discovery Arbitration Mailbox because of insufficient permission."
      }
      }
      " was run: "Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.TryRunADOperation(ADOperation operation, Boolean throwExceptions)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.Initialize(OrganizationId organizationId, CacheNotificationHandler cacheNotificationHandler, Object state)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.InitializeAndAddPerTenantSettings(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Object state)
      at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.TryGetValue(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Boolean& hasExpired, Object state)
      at Microsoft.Exchange.Management.RecipientTasks.GetMailbox.ConvertDataObjectToPresentationObject(IConfigurable dataObject)
      at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.WriteResult(IConfigurable dataObject)
      at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.WriteResult[T](IEnumerable`1 dataObjects)
      at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.GetObjectWithIdentityTaskBase`2.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.InternalProcessRecord()
      at Microsoft.Exchange.Management.RecipientTasks.GetRecipientWithAddressListBase`2.InternalProcessRecord()
      at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
      at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)".
      [01/26/2021 14:40:55.0445] [1] [ERROR] Database is mandatory on UserMailbox.
      [01/26/2021 14:40:55.0461] [1] [ERROR-REFERENCE] Id=SystemAttendantDependent___04cc4ecfc25f40a6bf13fe2fb767ae60 Component=EXCHANGE14:\Current\Release\PIM Storage\Discovery
      [01/26/2021 14:40:55.0461] [1] Setup is stopping now because of one or more critical errors.
      [01/26/2021 14:40:55.0461] [1] Finished executing component tasks.
      [01/26/2021 14:40:55.0477] [1] Ending processing Install-MailboxRole
      [01/26/2021 14:40:55.0492] [0] CurrentResult console.ProcessRunInternal:198: 1
      [01/26/2021 14:40:55.0492] [0] CurrentResult launcherbase.maincore:90: 1
      [01/26/2021 14:40:55.0492] [0] CurrentResult console.startmain:52: 1
      [01/26/2021 14:40:55.0492] [0] CurrentResult SetupLauncherHelper.loadassembly:452: 1
      [01/26/2021 14:40:55.0492] [0] The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.
      [01/26/2021 14:40:55.0492] [0] CurrentResult main.run:235: 1
      [01/26/2021 14:40:55.0492] [0] CurrentResult setupbase.maincore:396: 1
      [01/26/2021 14:40:55.0492] [0] End of Setup

       

      • JeremyTBradshaw's avatar
        JeremyTBradshaw
        Steel Contributor
        I see now what you mean. I wonder if you can go into ADSI Edit and modify msExchVersion to be 44220983382016 (which translates to 0.10 (14.0.100.0) in Exchange PowerShell).

        If you do that, you might then be able to work from Exchange 2010 Powershell to mail-enable.

        I had to recently do the opposite, where I changed a 2010-versioned user to be 2016's version number (did it via Attribute Editor tab in ADUC). This allowed me to do Enable-RemoteMailbox -Archive from an Exchange 2016 PowerShell which was failing prior to the change due to the Exchange version of the recipient being 2010. I only state this recent experience because it was a successful trick that Exchange was fooled by. So I'm hopeful you might get lucky too.

Resources