Hallo Freunde der Sonne,
eine Wohltat seitens Microsoft ist die Migration der öffentlichen Ordner von Exchange 2010 nach Exchange 2016 (Public-Folder-Database zu Public-Folder-Mailbox).
Exchange 2010 zu 2016 – Öffentliche Ordner Migration
Quelle(n):
- Migrationsleitfaden – https://technet.microsoft.com/de-de/library/mt463355(v=exchg.150).aspx
- Skripte – https://www.microsoft.com/en-us/download/details.aspx?id=38407
- Migration 2007-2013 – https://blogs.technet.microsoft.com/meamcs/2013/07/25/part-4-step-by-step-exchange-2007-to-2013-migration/
- Hilfe-Finalisierung – https://debugitblog.wordpress.com/2014/05/30/public-folder-migration-meldet-fehler-der-auftrag-wird-abgegeben-da-das-postfach-gesperrt-ist/
Ablauf:
- Skriptdateien für die Exchange-Server herunterladen
- Indizierung der öffentlichen Ordner Struktur auf dem Quell-Exchange
- Erstellen der Zielstruktur
- Migration der Daten via Batch
- Abschluss der Migration
1. Skriptdateien für die Exhcange-Server herunterladen
Folgende Skripte bitte auf den Exchange 2010 herunterladen:
https://www.microsoft.com/en-us/download/details.aspx?id=38407
Alternativ aus unserer KB:
Exchange 2010 zu 2016 Skripte
Die Skript-Dateien bitte in die Exchange-Installations-Verzeichnisse für Skripte entpacken:
Microsoft Exchange 2010:
C:\Program Files\Microsoft\Exchange Server\V14\Scripts
Microsoft Exchange 2016
C:\Program Files\Microsoft\Exchange Server\V15\Scripts
2. Indizierung der öffentlichen Ordner Struktur auf dem Quell-Exchange
In diesem Beispiel werden alle Dateien via UNC-Pfad verwendet, dies soll sicherstellen, dass jeder Exchange-Server die entsprechenden Dateien verwendet.
Nun bitte auf dem Quell-Server (Exchange 2010) folgende Skripte ausführen:
Get-PublicFolder -Recurse | Export-CliXML \\exch2016\c$\Legacy_PFStructure.xml
Get-PublicFolderStatistics | Export-CliXML \\exch2016\c$\Legacy_PFStatistics.xml
Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML \\exch2016\c$\Legacy_PFPerms.xml
Anpassung der öffentlichen Ordner die einen Backslash im Namen enthalten (ggf. optional),
zuerst die Anzeige aller anzupassenden Ordner:
Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like "*\*"} | Format-List Name, Identity
Und nun bitte alle Ordner vom Namen her überarbeiten:
Set-PublicFolder -Identity <public folder identity> -Name <new public folder name>
3. Erstellen der Zielstruktur
Zuerst bauen wir uns das passende Format für den Migrations-Batch (Exchange 2010):
cd C:\Program Files\Microsoft\Exchange Server\V14\Scripts .\Export-PublicFolderStatistics.ps1 "\\exch2016\c$\FolderSize.csv" "Exchange-2010-Server" .\PublicFolderToMailboxMapGenerator.ps1 20000000000 "\\exch2016\c$\FolderSize.csv" "\\exch2016\c$\PFMailboxes.csv"
Hinweis: Ich empfehle ab diesem Schritt etwas vor zu arbeiten und ggf. eine Postfach-Datenbank mit Umlaufprotokollierung und ohne Speichergrenzen für eine Reibungslose Migration anzulegen – notfalls kann die spätere Public-Folder-Mailbox in andere Datenbanken migriert werden. (ggf. den Mailbox-Namen in den CSV anpassen)
Nun auf dem neuen Server (Exchange 2016) die Public-Folder-mailbox anlegen:
cd C:\Program Files\Microsoft\Exchange Server\V15\Scripts .\Create-PublicFolderMailboxesForMigration.ps1 -FolderMappingCsv "\\exch2016\c$\Mapping.csv" -EstimatedNumberOfConcurrentUsers:<estimate>
4. Migration der Daten via Batch
Erstellen eines neuen Migration-Batch auf dem neuen Server (Exchange 2016):
New-MigrationBatch -Name PFMigration -SourcePublicFolderDatabase (Get-PublicFolderDatabase -Server exch2010) -CSVData (Get-Content "\\exch2016\c$\PFMailboxes.csv" -Encoding Byte) Start-MigrationBatch PFMigration
5. Abschluss der Migration
Hinweis: Um den Umschaltmoment für den Zugriff der Datenbanken zu erzwingen lohnt es sich einen der Server neuzustarten. (vorzugsweise den alten wenn alle anderen Daten bereits migriert wurden)
Auf dem alten Server (Exchange 2010) wird die alte Struktur deaktiviert:
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
Auf dem neuen Server (Exchange 2016) wird die Struktur nun freigegeben:
Set-OrganizationConfig -PublicFoldersEnabled Remote
Complete-MigrationBatch PFMigration
Anbindung der öffentlichen Ordner in Exchange 2016:
Vorsicht im Beispiel werden alle Mailbox an die neuen öffentlichen Ordner angebunden!
Get-Mailbox | Set-Mailbox -DefaultPublicFolderMailbox <Public Folder Mailbox Identity>
Aktivierung der Hierarchie-Synchronisation für die neuen öffentlichen Ordner:
Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
Abschluss der Migration:
Set-OrganizationConfig -PublicFolderMigrationComplete:$true Set-OrganizationConfig -PublicFoldersEnabled Local