Microsoft Exchange: Defekte Kalendereinträge reparieren


    Tags: ,

    Fehler in einem Kalendereintrag von ExchangeAus uner­findlichen Gründen kommt es bei Exchange vor, dass in man­chen Post­fächern einzelne Kalender­ein­träge defekt sind, aber Exchange diese mit Bord­mitteln nicht repa­rieren kann. Nachdem sich das Problem nicht online be­heben lässt, kann man sich mit Tools für die Offline-Reparatur behelfen.

    Ein defekter Kalender­eintrag in einem Benutzer­postfach äußert sich so, dass der User ihn nicht verändern (bearbeiten, löschen, verschieben etc.) kann. Auch das Erinnerungs­fenster lässt sich nicht dauerhaft schließen, selbst wenn der Termin in der Vergangen­heit liegt. Es kommt somit immer wieder hoch.

    Der Benutzer ist hier sprichwörtlich machtlos, er kann nichts gegen diesen defekten Eintrag machen. Es bleibt nur die temporäre Lösung, die Erinnerung an den Termin so weit wie möglich in die Zukunft zu verschieben.

    Dieses Phänomen tritt sowohl bei Outlook im Online-Modus und in Outlook on the Web (OWA) auf. Es handelt sich hier also nicht um einen Fehler eines bestimmten Clients.

    Benutzer, die Outlook im Cache-Modus nutzen, können den Termin temporär bearbeiten, da Outlook die lokale Kopie nicht ständig gegen Exchange prüft. Mit der nächsten Cache-Aktualisierung ist der Termin aber wieder da.

    Fehlermeldungen

    Folgende Fehlermeldungen lassen sich beobachten:

    Leider besteht ein Problem beim Öffnen dieses Elements. Dies kann vorübergehend sein. Wenn dieser Fehler erneut auftritt, sollten Sie Outlook erneut starten. Ein Clientvorgang ist fehlgeschlagen.

    Fehler beim Öffnen eines Kalendereintrags

    Der Vorgang zum Verschieben, Kopieren oder Löschen von Elementen konnte nicht abgeschlossen werden. Möglicherweise wurden die Elemente verschoben oder gelöscht, oder Sie besitzen keine ausreichenden Berechtigungen. Falls das Element als Aufgabenanfrage oder Besprechungsanfrage gesendet wurde, empfängt der Sender möglicherweise keine Aktualisierungen. Ein Clientvorgang ist fehlgeschlagen.

    Diese Fehlermeldung benennt fehlende Berechtigungen als mögliche Ursache für das Problem. Sie kann man einfach ausschließen.

    Das Element konnte nicht gespeichert werden.

    Fehler, der auftritt, wenn man den Kalendereintrag ändern und speichern möchte.

    Als erste Maßnahme habe ich die Berechtigungen der Postfachordner mit

    Get-MailboxfolderPermission

    geprüft, um hier eine fehlerhafte Konfiguration auszuschließen. Selbst wenn dem Benutzer das Postfach bereits gehört, so kann man ihm vorsichtshalber mit

    ADD-MailboxfolderPermission

    das Recht des Owners nochmals erteilen.

    Dies hatte beim beschriebenen Problem allerdings keinen Effekt, die Fehler­meldungen bleiben weiterhin bestehen.

    Analyse mit kostenlosen Tools

    Ein nächster logischer Schritt besteht darin, den defekten Kalendereintrag zu analysieren, um ggf. einen Hinweis auf die Ursache des Fehlers zu erhalten. Diesem Zweck dienen die Tools CalChecker von Microsoft und MAPIMFC.

    Das Prüfen der Einträge mit CalCheck ergab Folgendes:

    Das Calendar Checking Tool meldet zwar Fehler, aber diese helfen bei der Ursachenforschung nicht weiter.

    MFCMAPI fand ebenfalls einige Fehler, wie der folgende Screenshot zeigt.

    Auch MFCMAPI ermittelt Probleme, die Fehler-Codes erlauben aber keinen Rückschluss auf die Ursache.

    Leider sind unter diesen Fehler-Codes keine Ursachen oder brauchbaren Lösungen zu finden.

    Reparaturversuch mit PowerShell

    Exchange bringt einige PowerShell-Cmdlets mit, die einen defekten Kalendereintrag reparieren könnten. Eines davon ist

    New-MailboxRepairRequest

    Der Befehl ist sehr rudimentär, er gibt keine verwertbare Rückmeldung auf der Konsole, stattdessen muss man anhand verschiedener EventIDs im Eventlog nachschauen. Vor allem aber brachte er keinen Erfolg.

    Eine weitere Option besteht darin, den defekten Eintrag über PowerShell zu löschen. Dafür existiert der Befehl Search-Mailbox. Er meldete bei meinem Troubleshooting tatsächlich, dass der betreffende Eintrag entfernt wurde. Die Realität sah aber leider anders aus, der defekte Kalendereintrag war weiterhin existent.

    Export und Re-Import

    Der Microsoft-Support schlug als Lösung vor, dass man das Postfach in eine PST-Datei ohne den Kalender exportieren und danach das Postfach auf der Exchange-Konsole deaktivieren möchte.

    Anschließend sollte man ein neues leeres Postfach erstellen und die PST-Datei dort ohne Kalender importieren. Dies ist für Benutzer in der Regel aber nicht tragbar, da sie auf ihre Kalender­einträge angewiesen sind.

    Eine bessere Alternative bestünde darin, das Postfach in eine PST-Datei zu exportieren und dabei nur den defekten Kalendereintrag zu überspringen. Dies kann per Hand geschehen oder per PowerShell mit New-MailboxExportRequest. Dabei den richtigen Eintrag beim Export zu erwischen, ist etwas aufwändig.

    Das ist insgesamt kein schöner und zudem ein recht aufwendiger Ansatz, bei dem man mit dem Benutzer einen Termin abstimmen muss, an dem sein Postfach offline genommen wird.

    Tools von Drittanbietern

    Neben diesen Bordmitteln gibt es noch Tools von Herstellern, welche sich auf das Reparieren von Postfächern spezialisiert haben. Sie beschränken sich allerdings nicht auf das Postfach, sondern sie lesen die Exchange-Datenbank (EDB) als Ganzes aus.

    Die Reparatur läuft so ab, dass die Daten aus der Offline-EDB in einem neuen Postfach (Exchange Live) oder in einer PST (oder anderen lokalen Datei) bereitgestellt werden. Relativ weit verbreitet und gut zu bedienen ist Stellar Repair for Exchange vom gleichnamigen Hersteller Stellar Data Recovery. Nach dem Scannen der Datenbank zeigt es ihren gesamten Inhalt an.

    Stellar Repair for Exchange bietet die Möglichkeit zur Offline-Reparatur der Exchange-Datenbank

    Bei meinem Test war Stellar tatsächlich in der Lage, die Einträge zu reparieren. Leider bleibt es aber dabei, dass es sich nicht um eine Online-Reparatur handelt, was den Aufwand deutlich erhöht.

    Wiederherstellen von Backup

    Eine weitere und ggf. kosten­günstigere Variante besteht darin, sich einmal sein Backup-Programm näher anzusehen, mit dem man Exchange und dessen Postfächer sichert. Ich nutze dafür Veeam Backup & Recovery.

    Der defekte Eintrag war erwartungsgemäß in der Sicherung enthalten.

    Veeam Backup & Replication ist in der Lage, defekte Kalendereinträge beim Zurückspielen korrekt wiederherzustellen.

    Der Nachteil bei der Rücksicherung in ein bestehendes Postfach ist aber, dass Veeam die vorhandenen Einträge dort nicht überschreibt, sondern im Kalender überall eine Kopie neben dem ursprünglichen Terminen setzt.

    Hier gab es allerdings die Überraschung, dass der originale Kalendereintrag zwar weiterhin defekt war, die Rücksicherung allerdings nicht. Veeam setzt die Einträge also neu.

    Um die Einträge im Kalender zu reparieren, kann man also das Postfach einmal mit Veeam sichern, es anschließend deaktivieren, es neu erstellen und dann die Sicherung dorthin zurückspielen. Die vorher defekten Kalender­einträge sind nun wieder konsistent und können vom Benutzer bearbeitet werden.

    Fazit

    Leider scheint es aktuell keine Methode zu geben, um diesen Fehler online zu reparieren. Dagegen lässt sich ein defekter Kalendereintrag auf mehrere Arten offline korrigieren, aber leider führt dies immer dazu, dass ein neues Postfach angelegt werden muss.

    Da der Fehler nur bei sehr wenigen Benutzer aufgetreten ist, hält sich der Aufwand allerdings in Grenzen. Leider ließ sich bisher die eigentliche Ursache, warum einzelne Kalendereinträge bei relativ wenigen Benutzern (5 von 6000) defekt waren, nicht eruieren.

    Keine Kommentare