{"id":2208,"date":"2018-03-26T01:45:08","date_gmt":"2018-03-25T23:45:08","guid":{"rendered":"https:\/\/www.langlitz-it.de\/?p=2208"},"modified":"2018-03-29T08:55:19","modified_gmt":"2018-03-29T06:55:19","slug":"how-to-migration-public-folder-exchange-2010-2016","status":"publish","type":"post","link":"https:\/\/www.langlitz-it.de\/?p=2208","title":{"rendered":"How to &#8211; Migration Public Folder Exchange 2010 -> 2016"},"content":{"rendered":"<p>Seit Exchange 2013 gibt es die klassischen Public Folder nicht mehr. Eine eigene Datenbank haben die Public Folder nicht mehr. Es gibt sie zwar immer noch, aber seit Exchange 2013 werden sie in einer eigenen sogenannten Public Folder Mailbox gelagert. Das bietet den gro\u00dfen Vorteil, dass auch endlich die Public Folder mit den Mechanismen der Mailboxen gesichert und administriert werden k\u00f6nnen. Soviel nur am Rande. Wie bekommen Sie nun die Public Folder aus der Pub.edb von Exchange 2010 und \u00e4lter in die Exchange 2016 Mailbox?<\/p>\n<p>Ich kann Ihnen den Migrationspfad, der auch von Microsoft empfohlen wird, guten Gewissens weiterempfehlen. Dazu laden Sie sich zun\u00e4chst die von Microsoft bereit gestellten <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=38407\">Scripte<\/a> herunter.<\/p>\n<p>Speichern Sie diese am besten auf einem Netzwerk Share. Auf diesem k\u00f6nnen Sie dann auch die erstellten CSV Dateien ablegen.<\/p>\n<p>Im ersten Schritt sollten sie eine Momentaufnahme Ihrer bestehenden Public Folder abspeichern. Dazu dienen die drei folgenden Scripte.<\/p>\n<p>Damit wird die Struktur der Public Folder gespeichert:<\/p>\n<pre>Get-PublicFolder -Recurse | Export-CliXML C:\\PFM_igration\\PF_Structure.xml<\/pre>\n<p>Im n\u00e4chsten Schritt speichern Sie die Statistik Daten Ihrer Public Folder Umgebung:<\/p>\n<pre>Get-PublicFolderStatistics | Export-CliXML C:\\PF_Migration\\PF_Statistics.xml<\/pre>\n<p>Im letzten Schritt werden noch die Berechtigungen der Public Folder abgelegt:<\/p>\n<pre>Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\\PF_Migration\\PF_Perms.xml<\/pre>\n<p>Als n\u00e4chstes sollten Sie pr\u00fcfen, ob in der Namensgebung der Public Folder nicht erlaubte Zeichen enthalten sind. Wenn im Namen des Public Folders oder in Attributen solche Zeichen enthalten sind, schlagen weitere Schritte evtl. fehl.<\/p>\n<p>Ein Beispiel ist das Leerzeichen im Alias oder ein &#8220;\\&#8221; im Namen. Entfernen Sie diese Zeichen soweit m\u00f6glich.<\/p>\n<p>Wenn dies geschehen ist, erstellen Sie mit Hifle der bereitgestellten Scripte die erforderlichen CSV Dateien. Mit dem folgenden Script erstellen Sie eine CSV, mit der die Folder inkl. ihrer Gr\u00f6\u00dfe abgelegt werden.<\/p>\n<p><span style=\"font-family: monospace, serif; font-size: 15px; white-space: pre-wrap;\">Export-PublicFolderStatistics.ps1 &#8220;\\\\Server\\share\\PF_FolderSize.csv&#8221; &#8220;EX2010.domain.de&#8221;<\/span><\/p>\n<p>Mit dem n\u00e4chsten Script wird die erforderliche Anzahl der Public Folder Mailboxen anhand der Foldergr\u00f6\u00dfen bestimmt. Es sind mehrere Parameter erforderlich.<\/p>\n<ul>\n<li><strong>Maximum mailbox size in bytes<\/strong>\n<ul>\n<li>Das ist die maximale Gr\u00f6\u00dfe die f\u00fcr public Folder Mailboxen festgelegt wird. Im Beispiel\u00a020000000000 f\u00fcr 20 GB.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Folder to size map path<\/strong>\n<ul>\n<li>Das ist der Pfad der CSV &#8220;<span style=\"font-family: monospace, serif; font-size: 15px; white-space: pre-wrap;\">PF_FolderSize.csv&#8221;.<\/span><\/li>\n<\/ul>\n<\/li>\n<li><strong>Folder to mailbox map path<\/strong>\n<ul>\n<li>In dieser Datei wird die Zuordnung von Foldern zu Mailboxen abgelegt.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre>PublicFolderToMailboxMapGenerator.ps1 20000000000 \"\\\\Server\\Share\\PF_FolderSize.csv\" \"\\\\Server\\Share\\PF_Mailboxes.csv\"<\/pre>\n<p>Nachdem alle Daten gesammelt wurden, k\u00f6nnen die erforderlichen Public Folder Mailboxen erstellt werden.<\/p>\n<pre>Create-PublicFolderMailboxesForMigration.ps1 -FolderMappingCsv PF_Mailboxes.csv -EstimatedNumberOfConcurrentUsers:\"maxUser\"<\/pre>\n<p>Nun kann die eigentliche Migration gestartet werden. Dazu wird ein neuer Migrationsbatch erstellt.<\/p>\n<pre>New-MigrationBatch -Name PF_Migration -SourcePublicFolderDatabase (Get-PublicFolderDatabase -Server EX2010) -CSVData (Get-Content \"\\\\Server\\Share\\PF_Mailboxes.csv\" -Encoding Byte)<\/pre>\n<p>Dann starten Sie den Batch.<\/p>\n<pre>Start-MigrationBatch PF_Migration<\/pre>\n<p>Mit dem CMDLet Get-Migrationbatch k\u00f6nnen Sie sich den Status der Migration ansehen. Der Status sollte abh\u00e4ngig von der Gr\u00f6\u00dfe der Folder nach Abschluss zu &#8220;Synced&#8221; wechseln.<\/p>\n<p>Sollten Fehler auftreten, k\u00f6nnen Sie sich diese detailliert mit folgendem Befehl ansehen.<\/p>\n<pre>(Get-MigrationBatch PF_Migration -IncludeReport |select -ExpandProperty report).failures |select TimeStamp,Message<\/pre>\n<p>Nun folgt der Abschluss. Dazu sperren Sie die Public Folder auf dem Exchange 2010 und setzen diese in den Migration Mode.<\/p>\n<pre>Set-OrganizationConfig -PublicFoldersLockedForMigration:$true<\/pre>\n<p>Es kann sein, dass diese Konfiguration einige Zeit ben\u00f6tigt, bis sie bekannt ist. Beschleunigen k\u00f6nnen Sie dies, wenn Sie die Pub.ebd dismounten und wieder mounten.<\/p>\n<p>Im N\u00e4chsten Schritt schalten Sie die neuen Public Folder in den Remote Mode.<\/p>\n<pre>Set-OrganizationConfig -PublicFoldersEnabled Remote<\/pre>\n<p>Wenn dies alles erfolgreich abgeschlossen wurde, k\u00f6nnen\u00a0 Sie den Migrationsbatch komplettieren.<\/p>\n<pre>Complete-MigrationBatch PF_Migration<\/pre>\n<p>Wenn dieser Vorgang durchgef\u00fchrt wird, wechselt der Status des Batches in &#8220;completing&#8221; und nach Abschluss in &#8220;completed&#8221;. Achten Sie darauf, dass es einige Zeit dauern kann, bis der Status von &#8220;Synced&#8221; auf &#8220;Completing&#8221; wechselt.<\/p>\n<p>Wenn der Status auf &#8220;completed&#8221; gewechselt ist, testen Sie die Migration. Dazu weisen Sie einer Test Mailbox die Public Folder Mailbox als default Public Folder zu.<\/p>\n<pre>Set-Mailbox -Identity \"TestUser\"                       -DefaultPublicFolderMailbox \"PF_Mailbox\"<\/pre>\n<p>Dann starten Sie ein Outlook und verbinden sich auf die Mailbox des TestUsers.<\/p>\n<ul>\n<li>Pr\u00fcfen Sie die Hierarchy<\/li>\n<li>Pr\u00fcfen Sie die Berechtigungen<\/li>\n<li>Erstellen und L\u00f6schen von Foldern<\/li>\n<li>Ver\u00f6ffentlichen von Inhalten<\/li>\n<\/ul>\n<p>Wenn alles funktioniert, k\u00f6nnen Sie die Public Folder Mailbox(en) f\u00fcr alle User freigeben.<\/p>\n<pre>Get-Mailbox | Set-Mailbox\u00a0-DefaultPublicFolderMailbox \"PF_Mailbox\"<\/pre>\n<pre>Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false<\/pre>\n<p>Best\u00e4tigen Sie als n\u00e4chtes die erfolgreiche Migration auf dem Exchange 2010 Store.<\/p>\n<pre>Set-OrganizationConfig -PublicFolderMigrationComplete:$true<\/pre>\n<p>Nachdem alles funktioniert, schlie\u00dfen Sie mit diesem Befehl auf dem Exchange 2016 ab.<\/p>\n<pre>Set-OrganizationConfig -PublicFoldersEnabled Local<\/pre>\n<p>Nun k\u00f6nnen Sie zum Abschluss noch eine neue Eventaufnahme machen und die Datein mit denen zu Beginn vergleichen.<\/p>\n<pre>Get-PublicFolder -Recurse | Export-CliXML \\\\Server\\Share\\new_PF_Structure.xml<\/pre>\n<pre>Get-PublicFolderStatistics -ResultSize Unlimited | Export-CliXML \\\\Server\\Share\\new_PF_Statistics.xml<\/pre>\n<pre>Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML  \\\\Server\\Share\\PF_Perms.xml<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seit Exchange 2013 gibt es die klassischen Public Folder nicht mehr. Eine eigene Datenbank haben die Public Folder nicht mehr. Es gibt sie zwar immer noch, aber seit Exchange 2013 werden sie in einer eigenen sogenannten Public Folder Mailbox gelagert. &hellip; <a href=\"https:\/\/www.langlitz-it.de\/?p=2208\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[741,742,30,308,744,740,553,743],"_links":{"self":[{"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/posts\/2208"}],"collection":[{"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2208"}],"version-history":[{"count":11,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/posts\/2208\/revisions"}],"predecessor-version":[{"id":2219,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/posts\/2208\/revisions\/2219"}],"wp:attachment":[{"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}