Deinstallation Exchange 2010 geht nicht - Postfachdatenbank nicht löschbar

  • Hallo,


    habe zum "Test" einen Exchange 2010 auf separater Hardware mit Server 2008 R2 in unser Netzwerk integriert. Kam mit Installation und Betrieb des Systems klar. Nach 14 Tage sollte der Exchange wieder entfernt werden.


    Nun hänge ich schon ein paar Tage - immer wenn es meine Zeit zuläßt - an dem Problem, das die Deinstallation über die Software/Systemsteuerung nicht funktioniert. Habe lange gegoogelt und diverse Anleitungen und Tipps gelesen, teilweise auch ausprobiert, ohne erfolgreich zu sein. Habe im Forum hier einen Link auf eine Anleitung gefunden, wie man mit der groben Bürste den letzten Exchange aus dem System "manuell" wirft, scheue mich aber ehrlich gesagt davor, so reinzugreifen...


    Die Überprüfung des Analyzer bei der Deinstallation meldet, das in der Postdachdatenbank mindestens ein Postfach oder Vermittlungspostfach existieren.


    So oft wie ich es mir auch angeschaut habe, es ist kein Postfach mehr in der Datenbank.


    Wenn ich in der Shell mit "get-mailbox -Database 1823920716 -Arbitration" meine Datenbank prüfe, weißt das Tool immer zwei SystemMailBoxen und eine FederatedEmail aus. Die scheinen dann die Vermittlungspostfächer zu sein.


    Mit dem Cmdlet "get-mailbox -arbitration -database 1823920716 | remove-mailbox" bekomme ich die Meldung, das der Vorgang nicht ausgeführt werden konnte, weil das Objekt "SystemMailBox" nicht im AD gefunden werden konnte. gleiche Meldung dann nochmals für die zweite SystemMailBox und die FederatedEmail ...


    Was muß ich tun, um die für mich eigenlich leere Datenbank sauber vom System zu bekommen und den Exchange sauber zu deinstallieren, also auch sauber aus dem AD zu haben?



    Danke für's Durchlesen.


    Torsten

    • Offizieller Beitrag

    Moin,


    das Schöne beim Setup ist, dass es wirklich jeden Fehler anzeigt. Das Problem beim Admin ist, dass er den Text nicht liest. Ich versuche darum mal meinen Text kurzzuhalten. :)


    Ich habe gerade am WE eine Deinstallation hinter mir und weiß daher garantiert, dass in der Fehlermeldung der korrekte Befehl steht:


    Zitat


    Mit dem Cmdlet "get-mailbox -arbitration -database 1823920716 | remove-mailbox"...


    bei "remove-mailbox" fehlt der Schalter "-RemoveLastArbitrationMailboxAllowed"


    Der Befehl lautet:


    Code
    get-mailbox -arbitration -database 1823920716 | remove-mailbox -RemoveLastArbitrationMailboxAllowed $true


    Und genau *so* steht er auch in der Fehlermeldung des Setup-Programmes.

  • Hallo an alle,


    erstmal vielen Dank für die Antworten, bin noch nicht eher zum Lesen gekommen (Außendienst) ...


    NobbyausHB


    Zitat


    hast du weitere Exchangeserver in der Org, wenn ja, was für welche?


    Noch nicht. Deswegen der Testlauf. Wir wollen/müssen in dieser Richtung was tun, da unser bisheriges System vom Hersteller abgekündigt wurde. Da eine Enscheidung anstand, was es werden soll, habe ich halt den Test mit einem einfachen PC und einer Testinstallion von Server 2008R2 und Exchange 2010 gemacht. Danach stand fest: Exchange = ja. Aber nicht mit einem PC, sondern richtiger Serverhardware, mit richtigen HDD's und ordentlich RAM etc. Und deswegen muß alles wieder ordentlich rückgewickelt werden...


    Zitat


    Und es ist ziemlich mutig, mit einem Test ins echte AD zu gehen.....


    Na ja, wenn ich das ganze jetzt so sehe, also das "klitzkleine" Problem was ich nicht allein lösen kann, würde ich mein Verhalten selbst nicht unbedingt als mutig einschätzen. Das war eher wagemutig oder schlimmer ...


    @NorbertW


    Zitat


    Ich habe gerade am WE eine Deinstallation hinter mir und weiß daher garantiert, dass in der Fehlermeldung der korrekte Befehl steht


    JEIN. Ich will nicht aufsässig erscheinen und keinesfalls diejenigen verbessern, deren Hilfe ich erflehe :) Aber bei mir steht wortwörtlich in der Fehlermeldung des Analyzers "Führen Sie den Befehl 'Get-Mailbox -Database <Database ID> -Arbitration' aus, um eine Liste aller Vermittlungspostfächer in der Datenbank abzurufen."


    Daraufhin habe ich das cmdlet - wie in meinem ersten Post geschildert - ausgeführt. Das Ergebnis war dann die Anzeige der 3 Postfächer/Systemweiterleitungen. Danach kam dann das Deiner Meinung nach unvollständige cmdlet. Ich habe die beiden cmdlets mal nacheinander ausgeführt und hier ist der ausgegebene Inhalt der Console (ich hoffe das ist hier erlaubt und verstößt nicht gegen Boardregeln):


    [PS] C:\Windows\system32>get-mailbox -Database 1823920716 -Arbitration


    Name Alias ServerName ProhibitSendQuota
    ---- ----- ---------- -----------------
    SystemMailbox{1f05a927... SystemMailbox{1f0... exchange-server unlimited
    SystemMailbox{e0dc1c29... SystemMailbox{e0d... exchange-server unlimited
    FederatedEmail.4c1f4d8... FederatedEmail.4c... exchange-server 1 MB (1,048,576 bytes)



    [PS] C:\Windows\system32>get-mailbox -arbitration -database 1823920716 | remove-mailbox
    Der Vorgang konnte nicht ausgeführt werden, weil das Objekt 'Firma.local/Users/SystemMailbox{1f05a927-a8c5-4104-b878-8318a60b8484}' nicht auf 'Server2.Firma.local' gefunden wurde.
    + CategoryInfo : InvalidData: (Firma.local/Use...8-8318a60b8484}:MailboxIdParameter)[Remove-Mailbox], ManagementObjectNotFoundException
    + FullyQualifiedErrorId : B721D0F3,Microsoft.Exchange.Management.RecipientTasks.RemoveMailbox


    Der Vorgang konnte nicht ausgeführt werden, weil das Objekt 'Firma.local/Users/SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}' nicht auf 'Server2.Firma.local' gefunden wurde.
    + CategoryInfo : InvalidData: (Firma.local/Use...8-e6c29d823ed9}:MailboxIdParameter) [Remove-Mailbox], ManagementObjectNotFoundException
    + FullyQualifiedErrorId : C5E774BA,Microsoft.Exchange.Management.RecipientTasks.RemoveMailbox


    Der Vorgang konnte nicht ausgeführt werden, weil das Objekt 'Firma.local/Users/FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042' nicht auf 'Server2.Firma.local' gefunden wurde.
    + CategoryInfo : InvalidData: (Firma.local/Use...bf-00a95fa1e042:MailboxIdParameter) [Remove-Mailbox], ManagementObjectNotFoundException
    + FullyQualifiedErrorId : 32E0B925,Microsoft.Exchange.Management.RecipientTasks.RemoveMailbox




    Das cmdlet, welches bei mir nach Deinen Worten unvollständig erscheint, hatte ich mir nach vielen Recherchen selbst zusammengebraut. Dabei kann ich in meiner Unwissenheit und Verzweiflung natürlich etwas vergessen haben.


    Wenn ich das von Dir vervollständigte cmdlet auf meiner Installation ausführe, erhalte ich folgende Rückmeldung:


    [PS] C:\Windows\system32>get-mailbox -arbitration -database 1823920716 | remove-mailbox -RemoveLastArbitrationMailboxAllowed $true
    Die Argumenttransformation für den Parameter "Identity" kann nicht verarbeitet werden. Der Wert "True" kann nicht in den Typ "Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter" konvertiert werden. Fehler: "Ungültige Umwandlung von "System.Boolean" in "Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter"."
    + CategoryInfo : InvalidData: (:) [Remove-Mailbox], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Remove-Mailbox




    Irgendwas paßt bei meiner Installation so gar nicht mehr... Oder ich mache etwas falsch.


    Torsten

    • Offizieller Beitrag

    Hallo,


    Dieser Befehl geht, gerade getestet:

    Code
    Get-Mailbox -Arbitration | Remove-Mailbox -Arbitration -RemoveLastArbitrationMailboxAllowed -Whatif


    Wenn du endgültig löschen willst, das -Whatif weg


    Und - Robert heißt RobertW und nicht NorbertW, der andere Norbert heißt NorbertFe.....


    Da das der einzige Exchange ist, gäbe es noch einen harten, offiziell nicht supporteten Weg.


    Aber wir wollen ja erst mal alles richtig machen...


    8-)

  • Erst einmal Entschuldigung für die Verhunzung des Namens. Das war vollkommen unabsichtlich geschusselt.



    Das cmdlet hat funktioniert! Immer schön mit "Ja" die Abfragen beantwortet. Die Datenbank ließ sich anschließend sauber löschen und die Applikation wie es sein soll über die Systeuerung deinstallieren.


    Nun steht der Einbindung des neuen richtigen Servers nichts mehr entgegen.


    Vielen Dank für die Lösung, ich hätte es nicht ohne Euch geschafft.


    Danke. Torsten


    PS: Was bin ich schuldig und wohin? ;)

    • Offizieller Beitrag

    Moin,


    Zitat

    JEIN. Ich will nicht aufsässig erscheinen und keinesfalls diejenigen verbessern, deren Hilfe ich erflehe :) Aber bei mir steht wortwörtlich in der Fehlermeldung des Analyzers "Führen Sie den Befehl 'Get-Mailbox -Database <Database ID> -Arbitration' aus, um eine Liste aller Vermittlungspostfächer in der Datenbank abzurufen."


    Und was steht im Satz danach? Da steht der Befehl zum Entfernen diese Mailboxen, inkl. meines Schalters oben.


    Zitat


    [PS] C:\Windows\system32>get-mailbox -arbitration -database 1823920716 | remove-mailbox -RemoveLastArbitrationMailboxAllowed $true


    Wie Norbert schon schrieb, fehlte im remove-mailbox auch der Schalter -arbitration.


    Sorry dafür, der fehlte auch bei mir oben, aber als ich das schrieb, hatte ich nur das Technet und keinen Server zum Testen parat.


    Norberts Befehl ist zwar korrekt, löscht aber die System-Mailboxen auf allen Servern, da der Schalter "-database" beim get-mailbox fehlt. Ich hoffe, Du hattest nur den einen.


    Norbert: Es wäre prima, wenn Du Deinen Befehl noch mal anpassen könntest. Sonst findet jemand mit mehr als einen Server den Befehl hier und zerschiest sich damit alle Exchanger 2010-Server... :(

    • Offizieller Beitrag

    Hallo,


    wunderbar - wieder einem Admin geholfen!


    Wir arbeiten hier ehrenamtlich, also nichts.


    Wenn du was spenden willst, gerne, vorzugsweise an


    http://www.nobbysweb.de/modules/xdonations/index.php


    Oder über Paypal (links unten) an uns, der Betrieb des Forums kostet mittlerweile auch Geld.


    robert:
    Ich hatte den Befehl bewusst so gewählt, da er in Post #4 geschrieben hatte, es sei eine Testinstallation im produktiven LAN - daher auch der -Whatif.
    Im Prinzip hast du aber Recht.


    Was mich wundert, das der Parameter $True nicht geht, werde das mal an die entsprechende Stelle geben.


    8-)