将公用文件夹从 Exchange 2010 迁移到 Exchange 2016

 

估计完成时间因迁移的公用文件夹数目而异

停用 Exchange 2010 服务器之前,您需要将公用文件夹迁移到您的 Exchange 2016 服务器。公用文件夹的迁移涉及若干步骤。开始之前,请确保您已全面了解以下所述的过程。

一次最多可迁移 500,000 个公用文件夹。如果超过这一数量,您需要创建迁移批处理,每次批处理的公用文件夹少于 500,000 个。您还应考虑其他公用文件夹限制,例如,公用文件夹邮箱的最大数量、每个公用文件夹邮箱的最大公用文件夹数量等等。请在开始迁移之前查看公用文件夹限制

我该如何做?

第 1 部分:下载迁移脚本

  1. 公用文件夹迁移脚本下载所有的脚本和支持文件。

  2. 将脚本保存到将运行 PowerShell 的本地电脑。例如,C:\PFScripts。请确保所有的脚本都保存在相同的位置。

第 2 部分:准备用于迁移的 Exchange 2010 服务器和公用文件夹

在 Exchange 2010 服务器的 Exchange 命令行管理程序 中执行此部分中的所有步骤。

  1. 打开 Exchange 2010 服务器上的 Exchange 命令行管理程序。

  2. 为了在迁移结束时进行验证,运行以下命令,获取当前公用文件夹部署的快照:

    • 运行以下命令以获取原始源文件夹结构的快照。

      Get-PublicFolder -Recurse | Export-CliXML C:\PFMigration\Legacy_PFStructure.xml
      
    • 运行以下命令以获取公用文件夹统计信息(如项目计数、大小和所有者)的快照。

      Get-PublicFolderStatistics | Export-CliXML C:\PFMigration\Legacy_PFStatistics.xml
      
    • 运行以下命令获取权限的快照。

      Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\PFMigration\Legacy_PFPerms.xml
      

    保存上述命令所生成的信息,以供在完成迁移后进行比较。

  3. 如果公用文件夹的名称中包含反斜杠 (\),则在迁移发生时公用文件夹会在父公用文件夹中进行创建。在迁移之前,如果您不想发生此情况,您需要对名称中包含反斜杠的公用文件夹进行重命名。

    1. 若要找到名称中包含反斜线的公用文件夹,请运行以下命令。

      Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like "*\*"} | Format-List Name, Identity
      
    2. 如果返回任何公用文件夹,您可以通过使用以下命令对它们进行重命名。

      Set-PublicFolder -Identity <public folder identity> -Name <new public folder name>
      

第 3 部分:生成 CSV 文件

  1. 打开 Exchange 2010 服务器上的 Exchange 命令行管理程序。

  2. 运行以下命令,创建将文件夹名称映射到您要迁移的每个公用文件夹的大小的文件。您需要指定在其中运行由以下命令创建的 CSV 文件的可访问网络共享,还需要指定 Exchange 2010 服务器的 FQDN。

    该命令必须由本地管理员运行,并将创建包含两列的 CSV 文件:FolderNameFolderSizeFolderSize 列的值将以字节为单位显示。例如,\PublicFolder01,10000

    C:\PFScripts\Export-PublicFolderStatistics.ps1  "\\FileServer\Share\FolderSize.csv" "EX2010.corp.contoso.com"
    
  3. 运行以下命令,创建公用文件夹到邮箱的映射文件。此文件用于计算 Exchange 2016 邮箱服务器上公用文件夹邮箱的正确数量。您需要指定以下参数:

    • Maximum mailbox size in bytes。这是您要为新的公用文件夹邮箱设置的最大大小。在指定此设置时,请务必允许扩展,以便可以扩大公用文件夹邮箱。在以下命令中,值 20000000000 用于表示 20 GB。

    • Folder to size map path。这是您在运行之前的命令时创建的 CSV 文件的文件路径。例如,\\FileServer\Share\FolderSize.csv。

    • Folder to mailbox map path。这是通过此步骤创建的文件夹到邮箱 CSV 文件的文件名和路径。如果您仅指定文件名,则将在本地计算机上的当前 Windows PowerShell 目录中生成文件。

    C:\PFScripts\PublicFolderToMailboxMapGenerator.ps1 20000000000 "\\FileServer\Share\FolderSize.csv" "\\FileServer\Share\PFMailboxes.csv"
    

第 4 部分:在 Exchange 2016 中创建公用文件夹邮箱

  1. 运行以下命令来创建目标公用文件夹邮箱。脚本将通过运行 PublicFoldertoMailboxMapGenerator.ps1 脚本,为您之前在步骤 3 中生成的 .csv 文件中的每个邮箱创建一个目标邮箱。

    .\Create-PublicFolderMailboxesForMigration.ps1 -FolderMappingCsv Mapping.csv -EstimatedNumberOfConcurrentUsers:<estimate>
    

    Mapping.csv 是由 PublicFoldertoMailboxMapGenerator.ps1 脚本在步骤 3 中生成的文件。同时浏览某个公用文件夹层次结构的用户连接估计数量通常少于组织中的用户总数。

第 5 部分:启动公用文件夹迁移

此时,您已经准备好启动公用文件夹迁移。以下步骤将创建并启动迁移批处理。根据在公用文件夹中的数据量和网络连接的速度,这可能需要几小时或几天时间。在此阶段期间,用户仍能访问 Exchange 2010 服务器中的公用文件夹和内容。在“第 6 部分:完成公用文件夹迁移(需要停机时间)”中,您需要运行另一个同步,以跟进在公用文件夹中所做的任何更改,并完成迁移。

  1. 打开 Exchange 2016 服务器上的 Exchange 命令行管理程序。

  2. 运行以下命令来新建公用文件夹迁移批处理。请务必更改公用文件夹到邮箱的映射文件的路径。

    New-MigrationBatch -Name PFMigration -SourcePublicFolderDatabase (Get-PublicFolderDatabase -Server EX2010) -CSVData (Get-Content "\\FileServer\Share\PFMailboxes.csv" -Encoding Byte) 
    
  3. 使用以下命令启动迁移:

    Start-MigrationBatch PublicFolderMigration
    

您可以在 EAC 中查看和管理迁移的进度和完成情况。因为 New-MigrationBatch cmdlet 可启动每个公用文件夹邮箱的邮箱迁移请求,所以您可以使用邮箱迁移页查看这些请求的状态。您可以转到邮箱迁移页,并通过执行以下操作,生成可以电子邮件方式发送给您的迁移报告:

  1. 浏览至您的 Exchange 2016 邮箱服务器的 URL,打开 EAC。例如,https://Ex2016/ECP。

  2. 导航到“邮箱”>“迁移”。

  3. 选择刚刚创建的迁移请求,然后在“详细信息”窗格中单击“查看详细信息”。

“状态”列会将初始批处理状态显示为“已创建”。在迁移期间,此状态会变为“正在同步”。在迁移请求完成后,此状态会变为“已同步”。您可以双击批处理,查看此批处理中各个邮箱的状态。邮箱作业的初始状态为“待运行”。在作业开始后,此状态会变为“正在同步”;当 InitialSync 完成后,此状态会变为“已同步”。

第 6 部分:完成公用文件夹迁移(需要停机时间)

直到此刻之前,用户都能够在迁移过程中访问公用文件夹。后续步骤会使用户注销 Exchange 2010 公用文件夹并在迁移完成最终同步期间锁定这些文件夹。用户将无法在此过程中访问公用文件夹。而且,任何发送到已启用邮件的公用文件夹的邮件都会排队,且在公用文件夹迁移完成前不会传递。

在完成迁移之前,您需要通过以下操作锁定 Exchange 2010 服务器上的公用文件夹,以防止其他任意更改:

  1. 打开 Exchange 2010 服务器上的 Exchange 命令行管理程序。

  2. 运行以下命令锁定旧版公用文件夹,以便完成迁移。

    Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
    

如果组织具有多个公用文件夹数据库,则需要等到公用文件夹复制完成,才能确保所有公用文件夹数据库都选取了 PublicFoldersLockedForMigration 标志,且用户最近对文件夹进行的任何挂起更改都已在整个组织中进行了复制。这可能需要几个小时。

锁定 Exchange 2010 服务器上的公用文件夹后,您可以执行以下操作完成迁移:

  • 打开 Exchange 2016 服务器上的 Exchange 命令行管理程序。

  • 运行以下命令,将 Exchange 2016 部署类型更改为“远程”。

    Set-OrganizationConfig -PublicFoldersEnabled Remote
    
  • 运行以下命令完成公用文件夹迁移。

    Complete-MigrationBatch PublicFolderMigration
    

当您执行以上步骤时,Exchange 会在 Exchange 2010 服务器与 Exchange 2016 之间执行最终同步。如果最终同步成功,则会解除锁定 Exchange 2016 服务器上的公用文件夹,并且迁移批处理的状态会先后变为“正在完成”和“已完成”。

步骤 7:完成公用文件夹迁移(需要停机时间)

首先,运行以下 cmdlet 以将 Exchange 2016 部署类型更改为“远程”:

Set-OrganizationConfig -PublicFoldersEnabled Remote

完成此操作后,您可以通过运行下面的命令来完成公用文件夹迁移:

Complete-MigrationBatch PublicFolderMigration

或者,您可以单击 EAC 中的“完成此迁移批处理”,以此来完成迁移。

完成迁移后,Exchange 会在 Exchange 2010 服务器与 Exchange 2016 之间执行最终同步。如果最终同步成功,则会解锁 Exchange 2016 服务器上的公用文件夹,并且迁移批处理的状态会先后变为“正在完成”和“已完成”。

第 8 部分:测试和解锁公用文件夹

完成公用文件夹迁移之后,您应该运行以下测试,以确保迁移成功。这样,您便能够在改为使用 Exchange 2016 公用文件夹之前测试迁移的公用文件夹层次结构。

  1. 打开 Exchange 2016 服务器上的 Exchange 命令行管理程序。

  2. 运行以下命令,指定一些测试邮箱将任何新迁移的公用文件夹邮箱用作默认公用文件夹邮箱。

    Set-Mailbox -Identity <Test User> -DefaultPublicFolderMailbox <Public Folder Mailbox Identity>
    
  3. 打开 Outlook 2010 或使用之前步骤中确定的测试用户,然后执行以下公用文件夹测试:

    • 查看层次结构

    • 检查权限

    • 创建和删除公用文件夹

    • 发布内容到公用文件夹并从公用文件夹删除内容

  4. 如果一切正常,请运行以下命令解锁所有其他用户的公用文件夹。

    Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
    
  5. 在 Exchange 2010 服务器中运行以下命令,以指示公用文件夹迁移已完成。

    Set-OrganizationConfig -PublicFolderMigrationComplete:$true
    
  6. 确认迁移完成后,请在 Exchange 2016 服务器上运行以下命令。

    Set-OrganizationConfig -PublicFoldersEnabled Local
    

我如何知道这有效?

在“第 2 部分:准备迁移”中,请您在开始迁移前先获取公用文件夹结构、统计信息和权限的快照。以下步骤将帮助您通过在迁移完成后获取这些相同的快照,验证公用文件夹迁移是否成功。然后,您可以比较这两个文件中的数据以验证是否成功。

  1. 打开 Exchange 2016 服务器上的 Exchange 命令行管理程序。

  2. 运行以下命令,获取新文件夹结构的快照。

    Get-PublicFolder -Recurse | Export-CliXML C:\PFMigration\Cloud_PFStructure.xml
    
  3. 运行以下命令以获取公用文件夹统计信息(如项目计数、大小和所有者)的快照。

    Get-PublicFolderStatistics -ResultSize Unlimited | Export-CliXML C:\PFMigration\Cloud_PFStatistics.xml
    
  4. 运行以下命令获取权限的快照。

    Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML  C:\PFMigration\Cloud_PFPerms.xml
    

如果您在迁移中遇到任何问题,可还原为 Exchange 2010 公用文件夹。有关详细信息,请参阅使用迁移批处理将公用文件夹从之前的版本迁移到 Exchange 2013 中回滚迁移部分。

有疑问吗?请在 Exchange 论坛中寻求帮助。请访问以下论坛:Exchange ServerExchange OnlineExchange Online Protection