none
Exchange 2016 deinstallation schlägt fehl bei Schritt 4 von 11: Postfachrolle - Transportdienst RRS feed

  • Frage

  • Warnung:

    Unerwarteter Fehler. Ein Watson-Abbild wird generiert: Der folgende Fehler wurde generiert, als "$error.Clear();

                if ($RoleProductPlatform -eq "amd64")

                {

                    try

                    {

                        # Need to configure the ETL traces before the fast service is installed. This will ensure that when the service comes up

                        # it will have the necessary trace session setting available to read from the registry

                        $fastPerfEtlTraceFolderPath = Join-Path -Path $RoleBinPath -ChildPath "\Search\Ceres\Diagnostics\ETLTraces"

                        $fastDiagnosticTracingRegKeyPath = 'HKLM:\SOFTWARE\Microsoft\Office Server\16.0\Search\Diagnostics\Tracing'

                        if(-not(Test-Path -Path $fastPerfEtlTraceFolderPath))

                        {

                            $null = New-Item $fastPerfEtlTraceFolderPath -Type 'Directory' -Force

                        }

                       

                        if (-not(Test-Path -Path $fastDiagnosticTracingRegKeyPath))

                        {

                            $null = New-Item -Path $fastDiagnosticTracingRegKeyPath -Force

                        }

                       

                        $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'TracingPath' -PropertyType 'string' -Value $fastPerfEtlTraceFolderPath -Force

                        $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'TracingFileName' -PropertyType 'string' -Value 'DocumentProcessingTrace' -Force

                        $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'DocumentParserSuccessLogMessage' -PropertyType 'Dword' -Value 1 -Force

                        $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'DocumentParserLoggingNoInitialisation' -PropertyType 'Dword' -Value 1 -Force

                       

                        # Max trace folder size 50 * 100 = 5GB

                        $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'MaxTraceFileSize' -PropertyType 'Dword' -Value 50 -Force

                        $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'MaxTraceFileCount' -PropertyType 'Dword' -Value 100 -Force

                       

                        $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'UseGeneralSwitch' -PropertyType 'Dword' -Value 1 -Force

                        $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'GeneralSwitch' -PropertyType 'Dword' -Value 1 -Force                   

                    }

                    catch

                    {

                        # ETl tracing is not critical. Info only log

                        Write-ExchangeSetupLog -Info ("An exception ocurred while trying to Configure the FAST ETL traces. Exception: " + $_.Exception.Message);

                    }

     

                    try

                    {

                        $fastFusionRegKeyPath = 'HKLM:\SOFTWARE\Microsoft\Office Server\16.0\Search\FlightControl'

     

                        if (Test-Path -Path $fastFusionRegKeyPath)

                        {

                            Remove-ItemProperty -Path $fastFusionRegKeyPath -Name 'fusion_new_enabled' -Force -ErrorAction SilentlyContinue

                            Remove-ItemProperty -Path $fastFusionRegKeyPath -Name 'fusion_old_enabled' -Force -ErrorAction SilentlyContinue

                            Remove-ItemProperty -Path $fastFusionRegKeyPath -Name 'fusion_compare_outputs' -Force -ErrorAction SilentlyContinue

                        }

                    }

                    catch

                    {

                        # Removing new fusion keys is not critical. Info only log

                        Write-ExchangeSetupLog -Info ("An exception ocurred while trying to remove the fast new fusion reg keys. Exception: " + $_.Exception.Message);

                    }

                   

                    $fastInstallConfigPath = Join-Path -Path $RoleBinPath -ChildPath "Search\Ceres\Installer";

                    $command = Join-Path -Path $fastInstallConfigPath -ChildPath "InstallConfig.ps1";

                    $dataFolderPath = Join-Path -Path $RoleBinPath -ChildPath "Search\Ceres\HostController\Data";

     

                    # Remove previous SearchFoundation configuration

                    &$command -action u -silent;

                    try

                    {

                        if ([System.IO.Directory]::Exists($dataFolderPath))

                        {

                            [System.IO.Directory]::Delete($dataFolderPath, $true);

                        }

                    }

                    catch

                    {

                        $deleteErrorMsg = "Failure cleaning up SearchFoundation Data folder. - " + $dataFolderPath + " - " + $_.Exception.Message;

                        Write-ExchangeSetupLog -Error $deleteErrorMsg;

                    }

     

                    # Re-add the SearchFoundation configuration

                    try

                    {

                        # the BasePort value MUST be kept in sync with dev\Search\src\OperatorSchema\SearchConfig.cs

                        &$command -action i -baseport 3800 -dataFolder $dataFolderPath -silent;

                    }

                    catch

                    {

                        $errorMsg = "Failure configuring SearchFoundation through installconfig.ps1 - " + $_.Exception.Message;

                        Write-ExchangeSetupLog -Error $errorMsg;

                       

                        # Clean up the failed configuration attempt.

                        &$command -action u -silent;

                        try

                        {

                            if ([System.IO.Directory]::Exists($dataFolderPath))

                            {

                                [System.IO.Directory]::Delete($dataFolderPath, $true);

                            }

                        }

                        catch

                        {

                            $deleteErrorMsg = "Failure cleaning up SearchFoundation Data folder. - " + $dataFolderPath + " - " + $_.Exception.Message;

                            Write-ExchangeSetupLog -Error $deleteErrorMsg;

                        }

                    }

                   

                    # Set the PowerShell Snap-in's public key tokens

                    try

                    {

                        $PowerShellSnapinsPath = "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\";

                        $FastSnapinNames = @("EnginePSSnapin", "HostControllerPSSnapIn", "InteractionEnginePSSnapIn", "JunoPSSnapin", "SearchCorePSSnapIn");

                        $officePublicKey = "71E9BCE111E9429C";

                        $exchangePublicKey = "31bf3856ad364e35";

                        foreach ($fastSnapinName in $FastSnapinNames)

                        {

                            $fastSnapinPath = $PowerShellSnapinsPath + $fastSnapinName;

                            $assemblyNameProperty = Get-ItemProperty -Path $fastSnapinPath -Name "AssemblyName" -ErrorAction SilentlyContinue;

                            if ($assemblyNameProperty -ne $null -and (-not [string]::IsNullOrEmpty($assemblyNameProperty.AssemblyName)))

                            {

                                $newAssemblyName = $assemblyNameProperty.AssemblyName -ireplace ($officePublicKey, $exchangePublicKey);

                                Set-ItemProperty -Path $fastSnapinPath -Name "AssemblyName" -Value $newAssemblyName;

                            }

                        }

                    }

                    catch

                    {

                        # Info only log

                        Write-ExchangeSetupLog -Info ("An exception ocurred while configuring Search Foundation PowerShell Snapin. Exception: " + $_.Exception.Message);

                    }

                }

            " ausgeführt wurde: "System.Management.Automation.RuntimeException: Error occurred while uninstalling Search Foundation for Exchange.System.ServiceProcess.TimeoutException: Der Vorgang wurde nicht abgeschlossen, da der Timeout abgelaufen ist.

       bei System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout)

       bei Microsoft.Ceres.Exchange.PostSetup.DeploymentManager.StopService(String serviceName, Int32 timeoutInSeconds)

       bei Microsoft.Ceres.Exchange.PostSetup.DeploymentManager.Uninstall(String installDirectory, String logFile)

       bei CallSite.Target(Closure , CallSite , Type , Object , Object )

       bei System.Management.Automation.Runspaces.AsyncResult.EndInvoke()

       bei System.Management.Automation.PowerShell.EndInvoke(IAsyncResult asyncResult)

       bei Microsoft.Exchange.Configuration.MonadDataProvider.MonadPipelineProxy.ClosePipeline(MonadAsyncResult asyncResult)"..

    Wie kann dieses Problem behoben werden. Der Exchange-Server wurde aus versehen oder willentlich auf einem DC installiert. Ich habe den Exchange nun erneut auf einem Member-Server installiert und will nun diesen Server deinstallieren. Mailboxen sind alle gezügelt.

    Montag, 5. Februar 2018 12:11

Alle Antworten

  • Moin,

    Hinweis: so lange Fehlertexte liest keiner.

    Was kommt an der Exchange-Shell mit

    Get-Mailbox -Arbitation

    Kann auch eine Archiv-Mailbox sein.

    Welchen Stand hat der Exchange (gehabt..)
    http://blog-schulenburg.de/index.php/kategorie-als-blog/87-exchange-build-nummern

    ;)


    Gruß Norbert

    Dienstag, 6. Februar 2018 18:55
    Moderator
  • Server Namen:

    DC = Server
    Exchange = Mail

    [PS] C:\Windows\system32>Get-Mailbox -Arbitration

    Name                      Alias                ServerName       ProhibitSendQuota
    ----                      -----                ----------       -----------------
    SystemMailbox{1f05a927... SystemMailbox{1f0... mail             Unlimited
    SystemMailbox{bb558c35... SystemMailbox{bb5... mail             Unlimited
    SystemMailbox{e0dc1c29... SystemMailbox{e0d... mail             Unlimited
    Migration.8f3e7716-201... Migration.8f3e771... mail             300 MB (314,572,800 bytes)
    FederatedEmail.4c1f4d8... FederatedEmail.4c... mail             1 MB (1,048,576 bytes)
    SystemMailbox{D0E409A0... SystemMailbox{D0E... mail             Unlimited
    SystemMailbox{2CE34405... SystemMailbox{2CE... mail             Unlimited

    [PS] C:\Windows\system32>Get-Mailbox | where {$_.ArchiveDatabase -ne $null} | ft name, archivedatabase, archivename, arc
    hivequota, archivewarningquota -AutoSize

    <Liste leer>

    MAIL Version 15.1 Build 1415.2

    SERVER Version 15.1 Build 845.34

    Gruss Lukas.

    Mittwoch, 7. Februar 2018 10:38
  • Moin Lukas,

    dann sollte (zumindest theoretisch..)

    Get-Mailbox -Arbitation | Remove-Mailbox gehen

    Mir war nur wichtig, das es keine RTM-Version war, daher die Frage.

    ;)


    Gruß Norbert

    Mittwoch, 7. Februar 2018 11:16
    Moderator
  • Hallo Norbert

    Ich will den 2. Exchange ja belassen und nur den 1. Exchange auf dem DC deinstallieren. Bei der Deinstallation kommt dann obenstehende Fehlermeldung.

    Gruss Lukas.

    Mittwoch, 7. Februar 2018 11:24
  • Moin,

    sorry, stimmt.

    In dem Fall musst du die Arbitration-Mailboxen auf den neuen Exchange verschieben mittels New-MoveRequest

    Shell:
    Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase “Mailbox Database 3052606571”

    ;)


    Gruß Norbert

    Mittwoch, 7. Februar 2018 11:47
    Moderator
  • Ja, das habe ich ja bereits gemacht, wie das beim Resultat oben des Befehls Get-Mailbox -Arbitration ersichtlich ist.

    Es ist ja nicht so dass es meine erste Migration ist, allerdings muss ich hier einen Mist aufräumen den ich nicht verursacht habe.

    Gruss Lukas.

    Mittwoch, 7. Februar 2018 11:55
  • Moin,

    dachte ich mir.

    Zur Not hat unsupportet mit dem harten Weg via ADSI Edit.

    ;)


    Gruß Norbert

    Mittwoch, 7. Februar 2018 12:24
    Moderator