Quantcast
Channel: Exchange Server 2013 - Setup, Deployment, Updates, and Migration forum
Viewing all articles
Browse latest Browse all 7129

Error Installing Step 10 of 12 Mailbox roles: Mailbox service on Exchange 2013 CU2

$
0
0

Step 10 of 12 Mailbox roles: Mailbox service

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 -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: "Cannot find an overload for "CompareTo" and the argument count: "1".".


Viewing all articles
Browse latest Browse all 7129

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>