Migrate Public Folders from Exchange 2010 to Modern Public Folders on Exchange 2013
Hallo zusammen,
Eigentlich wollte ich mir die Modern Public Folders schon länger anschauen. Beziehungsweise die Migration der Public Folders von Exchange 2010 auf Exchange 2013 durchführen.
Der Folgende Blog Artikel zeigt nun wie die Migration zu bewerkstelligen ist.
Get-PublicFolder -Recurse | Export-CSV D:\Temp\2010_PFStructure.csv -NoTypeInformation
Get-PublicFolder -Recurse | Get-PublicFolderStatistics | Export-CSV D:\Temp\2010_PFStatistics.csv -NoTypeInformation
Get-PublicFolder -GetChildren | Get-PublicFolderClientPermission | Select Identity, User -ExpandProperty AccessRights | Export-CSV D:\Temp\2010_PFPerms.csv -NoTypeInformation
Danach wird geprüft ob schon irgendwie eine Public Folder Migration am laufen ist. Beide Werte sollten auf False stehen.
Get-OrganizationConfig | fl *public*
Nun muss ein Script vom Exchange 2013 auf den Exchange 2010 kopiert werden.
#Copy the Scripts from Ex2013 to Ex2010
C:\Program Files\Microsoft\Exchange Server\V15\Scripts
Export-PublicFolderStatistics.ps1
Export-PublicFolderStatistics.strings.psd1
Damit wird die Public Folder Struktur in ein CSV Exportiert, welches später weiterverwendet wird
.\Export-PublicFolderStatistics.ps1 D:\Temp\PF_MapFile.csv ICESRV01.corp.icewolf.ch
So sieht das CSV File dann aus.
Nun muss das CSV auf den Exchange 2013 Server kopiert werden. Dann wird dort das CSV File verwendet um einen Vorschlag zu erhalten, wie das in den Modern Public Folder Mailboxen organisiert werden könnte.
cd C:\Program Files\Microsoft\Exchange Server\V15\Scripts
.\PublicFolderToMailboxMapGenerator.ps1 100MB D:\TEMP\PF_MapFile.csv D:\TEMP\PF_MapMailbox.csv
Da ich nur ein paar Folders habe, schlägt mir das Script vor nur eine Public Folder Mailbox anzulegen. Ich werde dieses CSV jedoch anpassen und das Resultat in zwei Public Folder Mailboxes migrieren.
Dafür lege ich zwei Public Folder Mailboxes an. Eine für die Hierarchy und eine für die Daten - ist zwar für die paar Folder übertrieben aber es geht ja ums Prinzip.
New-Mailbox -PublicFolder PF-Hierarchy –Database MDB03 -IsExcludedFromServingHierarchy $True –HoldForMigration
New-Mailbox -PublicFolder PF-Data01 –Database MDB03 -IsExcludedFromServingHierarchy $True
Nun passe ich das CSV entsprechend an.
Jetzt ist alles vorbereitet und die Synchronisation der Daten in die Public Folder Mailboxen unter Exchange 2013 kann beginnen.
New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server ICESRV01.corp.icewolf.ch) -CSVData (Get-Content D:\TEMP\PF_MapMailbox.csv -Encoding Byte)
Der obige Befehl wurde mit der untenstehenden Fehlermeldung Quittiert. Eine Recherche im Internet hat ergeben, dass der Source Exchange Server (Exchange 2010) mit dem Public Folder noch mindestens eine Mailbox Datenbank benötigt. Also habe ich wieder eine Mailbox DB auf dem entsprechenden Server erstellt.
Danach klappt es dann :)
New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server ICESRV01.corp.icewolf.ch) -CSVData (Get-Content D:\TEMP\PF_MapMailbox.csv -Encoding Byte)
Mit dem untenstehenden Befehl, kann man den Status des Kopiervorgangs anschauen.
PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics
Detaillierte Infos kann man mit folgendem Befehl anschauen.
PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | fl
Bei 95% hält die Datensynchronisation automatisch an. Um nun den Cutover der Public Folders zu beginnen, muss der Source Public Folder unter Exchange 2010 gelockt werden.
#Ex2010
Set-OrganizationConfig –PublicFoldersLockedforMigration $True
Nun kann mit den folgenden Befehlen der Cutover initiert werden
Bei mir hat es nicht lange gedauert bis der Status auf "Completed" stand.
PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics
Ein Blick im Exchange Admin Center zeigt, dass die Folders da sind.
Mit dem untenstehenden Befehl kann man sich die Public Folder Mailboxen anzeigen lassen. Die Hierarchy (Public Folder Struktur) wird jedoch den Clients noch nicht bereitgestellt.
Das passe ich nun an
Set-Mailbox PF-Hierarchy -PublicFolder -IsExcludedFromServingHierarchy $False
Set-Mailbox PF-Data01 -PublicFolder -IsExcludedFromServingHierarchy $False
Nun weise ich meiner Mailbox die Public Folder Mailbox zu
Weitere Informationen:
Grüsse
Set-OrganizationConfig –PublicFolderMigrationComplete $true