Exchange 2010 to 2019 problems

Copper Contributor

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.

8 Replies

Hey @DutchAdmin12 

 

Could you possibly provide some more information from ExchangeSetupLogs folder around the exact error you are getting, arbitration mailboxes are known to cause issues during installation, take a look here and see if it helps: https://social.technet.microsoft.com/wiki/contents/articles/53486.error-solved-exchange-2016-databas...

 

Thanks

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?
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

@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

 

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.
Hi Jeremy , thank you for the reply that worked.
Setup was almost done but than this popped up :

I tried this https://docs.microsoft.com/en-us/exchange/architecture/mailbox-servers/recreate-arbitration-mailboxe...
Get-Mailbox "SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}" -Arbitration | Set-Mailbox -Arbitration -UMGrammar $true -OABGen $true -GMGen $true -ClientExtensions $true -MessageTracking $true -PstProvider $true -MaxSendSize 1GB -Force3

$OABMBX = Get-Mailbox "SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}" -Arbitration; Set-ADUser $OABMBX.SamAccountName -Add @{"msExchCapabilityIdentifiers"="40","42","43","44","47","51","52","46"}

But i cant do this 2 commands i get this error instead on the powershell :
This task does not support recipients of this type. The specified recipient office.local/Users/SystemMailbox{bb558c35-9
7f1-4cb9-8ff7-d53741dc928c} is of type UserMailbox. Please make sure that this recipient matches the required recipient
type for this task.
A positional parameter cannot be found that accepts argument 'True'.

Exchange install error :
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{bb558c35-97f1-4cb9-8ff7-d53741dc928c}";
$dispName = "Microsoft Exchange";
Write-ExchangeSetupLog -Info ("Retrieving mailboxes with Name=$name.");
$mbxs = @(Get-Mailbox -Arbitration -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1 );
if ($mbxs.Length -eq 0)
{
Write-ExchangeSetupLog -Info ("Retrieving mailbox databases on Server=$RoleFqdnOrName.");
$dbs = @(Get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController);
if ($dbs.Length -ne 0)
{
Write-ExchangeSetupLog -Info ("Retrieving users with Name=$name.");
$arbUsers = @(Get-User -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1);
if ($arbUsers.Length -ne 0)
{
Write-ExchangeSetupLog -Info ("Enabling mailbox $name.");
$sysMbx = Enable-Mailbox -Arbitration -Identity $arbUsers[0] -DisplayName $dispName -database $dbs[0].Identity;
}
}
}
else
{
if ($mbxs[0].DisplayName -ne $dispName )
{
Write-ExchangeSetupLog -Info ("Setting DisplayName=$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)
{
# We need 1 GB for uploading large OAB files to the organization mailbox
Write-ExchangeSetupLog -Info ("Setting mailbox properties.");
set-mailbox -Arbitration -identity $sysMbx -UMGrammar:$true -OABGen:$true -GMGen:$true -ClientExtensions:$true -MailRouting:$true -MessageTracking:$true -PstProvider:$true -MaxSendSize 1GB -Force;

Write-ExchangeSetupLog -Info ("Configuring offline address book(s) for this mailbox");
Get-OfflineAddressBook | where {$_.ExchangeVersion.CompareTo([Microsoft.Exchange.Data.ExchangeObjectVersion]::Exchange2012) -ge 0 -and $_.GeneratingMailbox -eq $null} | Set-OfflineAddressBook -GeneratingMailbox $sysMbx.Identity;
}
else
{
Write-ExchangeSetupLog -Info ("Cannot find arbitration mailbox with name=$name.");
}
}
else
{
Write-ExchangeSetupLog -Info "Skipping creating E15 System 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)".

@DutchAdmin12 I'm still in guessing mode on this one but I'm hoping you can update msExchRecpientTypeDetails via AD to be 8388608 (Arbitration mailbox) and msExchRecipientDisplayType to 10.

 

Here's my Exchange 2019's same arbitration mailbox's mxExch* properties:

 

[PS] C:\Windows\system32>Get-ADUser 80ac15b9-b6ae-4ca2-94e0-8d4db0d86023 -Properties * |fl Name, msExch*


Name                                  : SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
msExchAddressBookFlags                : 1
msExchApprovalApplicationLink         : {CN=ModeratedRecipients,CN=Approval Applications,CN=<removed>,CN=Microsoft
                                        Exchange,CN=Services,CN=Configuration,DC=<removed>, CN=AutoGroup,CN=Approval
                                        Applications,CN=<removed>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=<removed>}
msExchArchiveQuota                    : 104857600
msExchArchiveWarnQuota                : 94371840
msExchBypassAudit                     : False
msExchCalendarLoggingQuota            : 6291456
msExchCapabilityIdentifiers           : {46, 52, 51, 47, 44, 43, 42, 40}
msExchDumpsterQuota                   : 31457280
msExchDumpsterWarningQuota            : 20971520
msExchELCMailboxFlags                 : 130
msExchGroupSecurityFlags              : 0
msExchHideFromAddressLists            : True
msExchHomeServerName                  : /o=<removed>/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=<removed>
msExchMailboxAuditEnable              : False
msExchMailboxAuditLogAgeLimit         : 7776000
msExchMailboxFolderSet                : 0
msExchMailboxGuid                     : {234, 11, 88, 249, 80, 254, 202, 79, 182, 215, 137, 18, 105, 218, 216, 57}
msExchMailboxSecurityDescriptor       : System.DirectoryServices.ActiveDirectorySecurity
msExchMailboxTemplateLink             : CN=ArbitrationMailbox,CN=Retention Policies Container,CN=<removed>,CN=Microsoft
                                        Exchange,CN=Services,CN=Configuration,DC=<removed>
msExchMasterAccountSid                : S-1-5-10
msExchModerationFlags                 : 6
msExchOABGeneratingMailboxBL          : {<removed>}
msExchPoliciesIncluded                : {e77cacd8-09b2-4104-bc84-4be9f4420965, {26491cfc-9e50-4857-861b-0cb8df22b5d7}}
msExchProvisioningFlags               : 0
msExchRecipientDisplayType            : 10
msExchRecipientSoftDeletedStatus      : 0
msExchRecipientTypeDetails            : 8388608
msExchRequireAuthToSendTo             : True
msExchTextMessagingState              : {302120705, 16842751}
msExchTransportRecipientSettingsFlags : 0
msExchUMDtmfMap                       : {emailAddress:797836624526922558235973142298337353741329282,
                                        lastNameFirstName:797836624526922558235973142298337353741329282,
                                        firstNameLastName:797836624526922558235973142298337353741329282}
msExchUMEnabledFlags2                 : -1
msExchUserAccountControl              : 2
msExchVersion                         : 88218628259840
msExchWhenMailboxCreated              : 6/23/2020 3:08:47 PM

 

msExchMailboxTemplateLink looks potentially-important, but I wouldn't change it until you test after only changing msExchRecipientTypeDetails to be 8388608 and msExchRecipientDisplayType to 10.

@JeremyTBradshaw  Thank you for the reply.

 

I checked the atrributes and there exactly the same. Looks like my AD or something is corrupted or not accesible.

 

Deleted my previous post because I got it working somewhat on one thing.

 

I reinstalled a new server and tried some new things and now my powershell in 2016 is working.

 

The last error i am getting is this : 
Get-Mailbox "SystemMailbox{bb558c35-97f1-4cb
9-8ff7-d53741dc928c}" -Arbitration | Set-Mailbox -Arbitration -UMGrammar $true -OABGen $true -GMGen $true -ClientExtensions $true -Me
ssageTracking $true -PstProvider $true -MaxSendSize 1GB -Force
Database is mandatory on UserMailbox.
+ CategoryInfo : NotSpecified: (:) [Get-Mailbox], DataValidationException
+ FullyQualifiedErrorId : [Server=SERVER4,RequestId=c55077e4-93e6-419b-b0eb-8c3b7b5c2b01,TimeStamp=7/13/2021 8:17:17 AM] [Failu
reCategory=Cmdlet-DataValidationException] 58A4C656,Microsoft.Exchange.Management.RecipientTasks.GetMailbox
+ PSComputerName : server4.office.local

 

HomeDB is filled in on BB558 arbitration mailbox.

I am so close to fixing it 🙂