2

Ошибка при установки Exchange 19 CU14

Ошибка при установки Exchange 19 CU14 Microsoft Exchange, Системное администрирование, Помощь, Длиннопост

логи под спойлером - помогите плиз.

вводные данные, AD на 2012r2, Exchange 19 CU14 на 2019, делал по этому мануалу

https://itproblog.ru/установка-и-первоначальная-настройк-2/#...

Error:

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

if (!$RoleIsDatacenter -and !$RoleIsDatacenterDedicated)

{

$createNewOab = $false;

$oabName = $null;

$oabAddressList = $null;

$oabVdirs = $null;

$oabGlobalWebDistribution = $false;

$oabConfiguredAttributes = $null;

Write-ExchangeSetupLog -Info ("Looking for an existing default OAB");

$defaultOab = Get-OfflineAddressBook -DomainController:$RoleDomainController | where {$_.IsDefault};

if ($defaultOab -ne $null)

{

Write-ExchangeSetupLog -Info ("Found a default OAB: " + $defaultOab.Name + "; checking its version");

if ($defaultOab.ExchangeVersion.CompareTo([Microsoft.Exchange.Data.ExchangeObjectVersion]::Exchange2012) -lt 0)

{

$e15Oab = Get-OfflineAddressBook -DomainController:$RoleDomainController | where {$_.ExchangeVersion.CompareTo([Microsoft.Exchange.Data.ExchangeObjectVersion]::Exchange2012) -eq 0};

if ($e15Oab -eq $null)

{

Write-ExchangeSetupLog -Info ("Existing OAB is Exchange 2010 or older; will create a new OAB");

$createNewOab = $true;

$oabName = $defaultOab.Name + " (Ex2013)";

$oabAddressList = $defaultOab.AddressLists;

$oabGlobalWebDistribution = $defaultOab.GlobalWebDistributionEnabled;

$oabConfiguredAttributes = $defaultOab.ConfiguredAttributes;

}

else

{

Write-ExchangeSetupLog -Info ("Already has an existing Exchange 2013 OAB:" + $e15Oab.Name + "; will not create a new OAB");

}

}

else

{

Write-ExchangeSetupLog -Info ("Existing OAB is Exchange 2013 or newer; will not create a new OAB");

}

}

else

{

Write-ExchangeSetupLog -Info ("Did not find a default OAB; will create one");

$createNewOab = $true;

$oabName = [Microsoft.Exchange.Data.Directory.SystemConfiguration.OfflineAddressBook]::DefaultName;

$nonDefaultOabWithDefaultName = Get-OfflineAddressBook $oabName -DomainController:$RoleDomainController -ErrorAction SilentlyContinue | where {$_.IsDefault -eq $false};

if ($nonDefaultOabWithDefaultName -ne $null)

{

$createNewOab = $false;

Write-ExchangeSetupLog -Warning `

("Offline address book " + `

$nonDefaultOabWithDefaultName.Name + `

" already exists: " + `

$nonDefaultOabWithDefaultName.DistinguishedName + `

". Use administrative tools to change it to default OAB.");

}

$allGals = @(Get-GlobalAddressList -DomainController:$RoleDomainController | where {$_.IsDefaultGlobalAddressList});

if ($allGals -eq $null -or $allGals.Count -eq 0)

{

$createNewOab = $false;

Write-ExchangeSetupLog -Warning `

("Couldn't find the default global address list. The default offline address book can't be created.");

}

elseif ($allGals.Count -gt 1)

{

$createNewOab = $false;

Write-ExchangeSetupLog -Warning `

("Found " + $allGals.Count + " default global address lists. You can have only one default global address list in your organization. The default offline address book will not be created.");

}

else

{

$oabAddressList = $allGals[0];

Write-ExchangeSetupLog -Info ("OAB will be based on default GAL: " + $oabAddressList.Name);

}

}

if ($createNewOab)

{

if ($oabGlobalWebDistribution -eq $false)

{

$currentAdSiteDn = (Get-ExchangeServer $RoleFqdnOrName -DomainController:$RoleDomainController).Site.DistinguishedName;

$allOabVdirs = @(Get-OabVirtualDirectory -ADPropertiesOnly -DomainController:$RoleDomainController);

$e15MinimumServerVersion = New-Object Microsoft.Exchange.Data.ServerVersion([Microsoft.Exchange.Data.Directory.SystemConfiguration.Server]::E15MinVersion);

if ($allOabVdirs -ne $null -and $allOabVdirs.Count -gt 0)

{

foreach ($oabVdir in $allOabVdirs)

{

if ([Microsoft.Exchange.Data.ServerVersion]::Compare($oabVdir.AdminDisplayVersion, $e15MinimumServerVersion) -gt 0)

{

$oabVdirSiteDn = (Get-ExchangeServer $oabVdir.Server -DomainController:$RoleDomainController).Site.DistinguishedName;

if ($oabVdirSiteDn -eq $currentAdSiteDn)

{

$oabVdirs = $oabVdir;

break;

}

elseif ($oabVdirs -eq $null)

{

$oabVdirs = $oabVdir;

}

}

}

}

if ($oabVdirs -ne $null)

{

Write-ExchangeSetupLog -Info ("OAB will be distributed to OAB virtual directory " + $oabVdirs.Name);

}

else

{

Write-ExchangeSetupLog -Info ("Could not find any OAB virtual directories; OAB will be configured without distribution.");

}

}

try

{

Write-ExchangeSetupLog -Info ("Creating new default OAB.");

$newOab = New-OfflineAddressBook `

-Name $oabName `

-AddressLists $oabAddressList `

-VirtualDirectories $oabVdirs `

-GlobalWebDistributionEnabled $oabGlobalWebDistribution `

-IsDefault $true `

-DomainController:$RoleDomainController;

}

catch [Microsoft.Exchange.Data.Directory.ADObjectAlreadyExistsException]

{

Write-ExchangeSetupLog -Warning ("Tried to create new default OAB but the object already exists; it may have been created by another instance of setup.");

}

if ($oabConfiguredAttributes -ne $null)

{

Write-ExchangeSetupLog -Info ("Setting OAB ConfiguredAttributes to: " + $oabConfiguredAttributes);

Set-OfflineAddressBook $newOab -ConfiguredAttributes $oabConfiguredAttributes -DomainController:$RoleDomainController;

}

}

}

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

at Microsoft.Exchange.Data.Directory.ADDataSession.ObjectsFromEntries[TResult](SearchResultEntryCollection entries, String originatingServerName, IEnumerable`1 properties, ADRawEntry dummyInstance, String callerFilePath, Int32 callerFileLine, String memberName)

at Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.GetNextPage()

at Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.<GetEnumerator>d__29.MoveNext()

at System.Linq.Buffer`1..ctor(IEnumerable`1 source)

at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)

at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientObjectSession.FindOrganizationMailboxByCapability(OrganizationCapability capability, QueryFilter optionalFilter, String callerFilePath, Int32 callerFileLine, String memberName)

at Microsoft.Exchange.Data.Directory.OrganizationMailboxHelper.InternalGetOrganizationMailboxesByCapability(IRecipientSession session, OrganizationCapability capability, QueryFilter optionalFilter)

at Microsoft.Exchange.ProvisioningAgent.NewOfflineAddressbookProvisioningHandler.FindGeneratingMailbox(String domainController, OrganizationId orgId)

at Microsoft.Exchange.ProvisioningAgent.NewOfflineAddressbookProvisioningHandler.ProvisionDefaultProperties(IConfigurable readOnlyIConfigurable)

at Microsoft.Exchange.Provisioning.ProvisioningLayer.ProvisionDefaultPropertiesImpl(Task task, IConfigurable temporaryObject, IConfigurable dataObject, Boolean checkProvisioningLayerAvailability)

at Microsoft.Exchange.Provisioning.ProvisioningLayer.ProvisionDefaultProperties(Task task, IConfigurable temporaryObject, IConfigurable dataObject, Boolean checkProvisioningLayerAvailability)

at Microsoft.Exchange.Configuration.Tasks.NewTaskBase`1.InternalStateReset()

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

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

Лига Сисадминов

2.2K постов18.8K подписчика

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.