knallex25
Goto Top

Exchange Online - alte Exchange Einträge entfernen

Hallo,

ich habe vor Kurzem einen Exchange On-Premises (2019) in die Cloud migriert, und zwar über eine Cut-Over Migration. Leider hat der Hybrid-Modus nicht wie geplant funktioniert, weshalb ich mich für die klassische PST-Methode entschieden habe.

Die Migration selbst verlief reibungslos, und alle Daten sind in der Cloud vorhanden. Allerdings habe ich hin und wieder Probleme mit alten Einträgen, insbesondere Serienterminen, die noch auf dem alten Exchange-Server erstellt wurden. Diese Termine können nicht weitergeleitet werden, da in den Metadaten offenbar noch der alte Exchange-Server referenziert wird.

Habt ihr einen Tipp, wie ich diese alten Exchange-Einträge richtig bereinigen kann? Gibt es vielleicht ein Skript, um die veralteten Exchange-Referenzen aus den Kalendereinträgen zu entfernen?

Hinweis: Der alte Exchange-Server existiert nicht mehr.

Vielen Dank im Voraus!

Content-ID: 668936

Url: https://administrator.de/forum/exchange-online-alte-exchange-eintraege-entfernen-668936.html

Ausgedruckt am: 22.12.2024 um 07:12 Uhr

mbehrens
mbehrens 22.10.2024 um 19:17:52 Uhr
Goto Top
Zitat von @Knallex25:

Habt ihr einen Tipp, wie ich diese alten Exchange-Einträge richtig bereinigen kann? Gibt es vielleicht ein Skript, um die veralteten Exchange-Referenzen aus den Kalendereinträgen zu entfernen?

Das wird sicherlich auf Löschen und Neuanlegen hinauslaufen.
150704
150704 23.10.2024 aktualisiert um 08:03:55 Uhr
Goto Top
Mit MFCMAPI kannst du da versuchen Hand anzulegen, ansonsten einfach den Eintrag duplizieren/neuanlegen und den alten löschen.
SPOK71
SPOK71 23.10.2024 aktualisiert um 19:45:18 Uhr
Goto Top
Sonst gibt es diese Option, ich würde es aber auf einem Test-System laufen lassen:

# Abrufen aller Benutzerpostfächer in der Exchange-Umgebung
# Der Parameter '-RecipientTypeDetails UserMailbox' stellt sicher, dass nur Benutzerpostfächer (keine Gruppen, Ressourcen, etc.) abgerufen werden. 
# '-ResultSize Unlimited' sorgt dafür, dass alle Postfächer ohne Begrenzung abgerufen werden. 
$mailboxes = Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited

# Schleife, die durch jedes gefundene Benutzerpostfach iteriert
foreach ($mailbox in $mailboxes) {
    
    # Abrufen der Kalenderstatistiken für das aktuelle Postfach
    # '-FolderScope Calendar' stellt sicher, dass nur Kalenderordner durchsucht werden. 
    # 'Where-Object {$_.ItemsInFolder -gt 0}' filtert nur die Kalenderordner heraus, die tatsächlich Einträge enthalten. 
    $calendarItems = Get-MailboxFolderStatistics -Identity $mailbox.PrimarySmtpAddress -FolderScope Calendar | Where-Object {$_.ItemsInFolder -gt 0}
    
    # Schleife, die durch die gefilterten Kalenderordner geht (in der Regel nur einer pro Postfach)
    foreach ($calendarItem in $calendarItems) {
        
        # Konfigurieren der Kalenderverarbeitung für das aktuelle Postfach
        # '-RemoveOldMeetingMessages $true' sorgt dafür, dass alte Besprechungsnachrichten (z.B. abgelaufene oder stornierte Termine) entfernt werden. 
        # '-RemoveForwardedMeetingNotifications $true' entfernt weitergeleitete Besprechungsbenachrichtigungen aus dem Kalender. 
        Set-CalendarProcessing -Identity $mailbox.PrimarySmtpAddress -RemoveOldMeetingMessages $true -RemoveForwardedMeetingNotifications $true
    }
}

Hinweis:

Und auch nach der erfolgreichen Ausführung des Skripts auf einem Test-System, bleibt eine Sicherung der Daten des produktiven System wichtig, da diese Änderungen in den Kalendern vornehmen und potenziell Einträge löschen können.

Die MFCMAPI popt sofort beim googeln, ich weiß nicht, sieht wie hick hack aus. MFCMAPI ist ein nützliches Tool, um tiefere Probleme mit alten Exchange-Daten zu lösen, insbesondere wenn es darum geht, versteckte Metadaten oder problematische Einträge manuell zu bearbeiten. Allerdings ist es risikoreich, schwer zu automatisieren und erfordert ein gutes Verständnis der MAPI-Schnittstellen. Daher MFCMAPI nur dann verwenden, wenn du genau weißt, was du tust, und wenn keine andere Lösung (wie z.B. ein PowerShell-Skript) was ich dir vorgeschlagen habe, verfügbar ist. Also, teste die Änderungen immer zuerst auf einem Backup oder in einer Testumgebung, um unbeabsichtigte Folgen zu vermeiden.

Viel Glück.

"Bitte beachten Sie, dass meine Beiträge auf meiner Erfahrung sowie der Nutzung von Suchmaschinen und Fach-KI-Agenten basieren. Ich erhebe keinen Anspruch auf absolute Richtigkeit und übernehme keine Haftung für die Inhalte. Jeder Hinweis und jede Ergänzung sind willkommen!"