将公用文件夹从Exchange2010迁移到 Exchange 2013
本主题介绍如何将您的公用文件夹从 Exchange Server 2010 SP3迁移到同一个林中的
Exchange Server 2013。
完整的完成一次迁移需要以下的所有步骤。
步骤 1:下载迁移脚本
步骤 2:准备迁移
步骤 3:生成 .csv 文件
步骤 4:在 Exchange 2013 服务器上创建公用文件夹邮箱
步骤 5:启动迁移请求
步骤 6:锁定旧版 Exchange 服务器上的公用文件夹以进行最终迁移(需要停机时间)
步骤 7:完成公用文件夹迁移(需要停机时间)
步骤 8:测试和解锁公用文件夹迁移
步骤 9:从旧版Exchange服务器中删除公共文件夹数据库
步骤1、下载迁移脚本
1、 下载所有四个 Microsoft Exchange 2013 公用文件夹迁移脚本。
下载网址:http://www.microsoft.com/en-us/download/details.aspx?id=38407
包括以下四个文件:
Export-PublicFolderStatistics.ps1
注:此脚本将创建文件夹名称到文件夹大小的映射文件
Export-PublicFolderStatistics.strings.psd1
注:此支持文件由 Export-PublicFolderStatistics.ps1
脚本使用,并且应该下载到同一位置。
PublicFolderToMailboxMapGenerator.ps1
注:此脚本将创建公用文件夹到邮箱的映射文件。
PublicFolderToMailboxMapGenerator.strings.psd1
注:此支持文件由 PublicFolderToMailboxMapGenerator.ps1
脚本使用,并且应该下载到同一位置。
2、 将脚本保存到将运行 PowerShell 的本地电脑。例如,C:\PFScripts。
步骤 2:准备迁移
在开始迁移之前,执行以下先决条件步骤。
旧版 Exchange 服务器上的先决条件步骤
1、为在迁移结束时进行验证,我们建议您在旧版 Exchange 服务器上运行以下命令行管理程序命令,以获取当前公用文件夹部署的快照。
a.运行以下命令以获取原始源文件夹结构的快照。
Get-PublicFolder -Recurse | Export-CliXML C:\PFMigration\Legacy_PFStructure.xml
b. 运行以下命令以获取公用文件夹统计信息(如项目计数、大小和所有者)的快照。
Get-PublicFolderStatistics | Export-CliXML C:\PFMigration\Legacy_PFStatistics.xml
c. 运行以下命令获取权限的快照。
Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty Acce***ights | Export-CliXML C:\PFMigration\Legacy_PFPerms.xml
保存来自上述命令的信息以便在迁移结束时进行比较。
2、如果公用文件夹的名称包含反斜线 \,在迁移发生时将在父公用文件夹中创建该公用文件夹。在迁移之前,我们建议您为名称中包含反斜线的公用文件夹重命名。
a.在 Exchange 2010 中,若要找到名称中包含反斜线的公用文件夹,运行以下命令:
Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like "*\*"} | Format-List Name, Identity
b.在 Exchange 2007 中,若要找到名称中包含反斜线的公用文件夹,运行以下命令:
Get-PublicFolderDatabase | ForEach {Get-PublicFolderStatistics -Server $_.Server | Where {$_.Name -like "*\*"}}
c.如果返回任何公用文件夹,您可以通过使用以下命令对它们进行重命名:
Set-PublicFolder -Identity
3、确保之前没有成功迁移的记录。如果存在,则需要将该值设置为 $false
。如果该值设置为 $true
,则迁移请求将失败。
Get-OrganizationConfig | Format-List PublicFoldersLockedforMigration, PublicFolderMigrationComplete
如果 PublicFoldersLockedforMigration 或 PublicFolderMigrationComplete 属性的状态为 $true
,请使用下面的命令将此值设置为 $false
。
Set-OrganizationConfig -PublicFoldersLockedforMigration:$false -PublicFolderMigrationComplete:$false
在重置这些属性之后,必须等待 Exchange 检测到新设置。这可能需要几分钟。.
Exchange 2013 服务器上的先决条件步骤
1、 请确保没有现有的公用文件夹迁移请求。如果存在,请清除它们。此步骤是先决条件,并不是所有情况下都需要。仅在您认为通道中可能存在现有迁移请求时才必须执行此步骤。在任何情况下,以下命令都不会影响新的迁移。下面的示例可删除任何现有公用文件夹迁移请求。
Get-PublicFolderMigrationRequest | Remove-PublicFolderMigrationRequest -Confirm:$false
2、 要确保 Exchange 2013 服务器上没有现有的公用文件夹,请运行以下命令。
Get-Mailbox -PublicFolder
Get-PublicFolder
如果以上命令返回任何公用文件夹,请使用以下命令删除这些公用文件夹。
Get-Mailbox -PublicFolder | Where{$_.IsRootPublicFolderMailbox -eq $false} | Remove-Mailbox -PublicFolder -Force -Confirm:$false
Get-Mailbox -PublicFolder | Remove-Mailbox -PublicFolder -Force -Confirm:$false
步骤 3:生成 .csv 文件
1、在旧版 Exchange 服务器上,运行 Export-PublicFolderStatistics.ps1
脚本以创建文件夹名称到文件夹大小的映射文件。该文件具有两列:“FolderName”和“FolderSize”。FolderSize 列的值将以字节为单位显示。例如“\PublicFolder01,10000”。
.\Export-PublicFolderStatistics.ps1
FQDN of source server 等于托管公用文件夹层次结构的邮箱服务器的完全限定域名。
Folder to size map path 等于要用于保存 .csv 文件的网络共享文件夹上的文件名称和路径。您需要从 Exchange 2013 服务器访问此文件。如果您仅指定文件名,则将在其当前位置生成文件。
2、运行 PublicFolderToMailboxMapGenerator.ps1
脚本来创建公用文件夹到邮箱的映射文件。此文件用于在 Exchange 2013 邮箱服务器上创建正确数量的公用文件夹邮箱。
.\PublicFolderToMailboxMapGenerator.ps1
Maximum mailbox size in bytes 等于您要为新公用文件夹邮箱设置的最大大小。
Folder to size map path 等于您在运行 Export-PublicFolderStatistics.ps1 脚本时创建的 .csv 文件的文件路径。
Folder To mailbox map path 等于通过此步骤创建的文件夹到邮箱 .csv 文件的文件名和路径。如果您仅指定文件名,则将在其当前位置生成文件。
步骤 4:在 Exchange 2013 服务器上创建公用文件夹邮箱
创建的公用文件夹邮箱的名称必须与映射文件中的 TargetMailbox 的名称匹配。可以在映射文件中编辑 TargetMailbox 名称以符合组织的命名约定。
1. 运行以下命令以在 Exchange 2013 邮箱服务器上创建第一个公用文件夹邮箱。公用文件夹邮箱包含公用文件夹的层次结构信息,而公用文件夹包含实际内容。创建的第一个公用文件夹邮箱会成为主层次结构邮箱。需要在 HoldForMigration 模式下创建第一个公用文件夹邮箱。
New-Mailbox -PublicFolder
2. 基于 PublicFoldertoMailboxMapGenerator.ps1
脚本生成的 .csv 文件,按需运行以下命令创建其他公用文件夹邮箱。例如,如果您打开 .csv 文件,公用文件夹命名为 Mailbox1、Mailbox2 等。如果最后一个公用文件夹命名为 Mailbox13,您将需要创建 13 个公用文件夹邮箱.
如果您需要创建几个公用文件夹邮箱,可以编写脚本以便自动执行此进程。此示例将创建 25 个公用文件夹邮箱。
$numberOfMailboxes = 25;
for($index =1 ; $index -le $numberOfMailboxes ; $index++)
{
$PFMailboxName = "Mailbox"+$index; if($index -eq 1) {New-Mailbox -PublicFolder $PFMailboxName -HoldForMigration:$true -IsExcludedFromServingHiearchy:$true;}else{New-Mailbox -PublicFolder $PFMailboxName -IsExcludedFromServingHierarchy:$true}
}
操作步骤如下:
我们的TargetMailbox名称为Mailbox1,这里我们输入如下命令,新建公共文件夹邮箱
New-Mailbox -PublicFolder Mailbox1 -IsExcludedFromServingHierarchy $True –HoldForMigration:$true
4.登录到ECP,发现公共文件夹邮箱已经建立。
5、公共文件夹将在迁移过程中自动创建。
步骤 5:启动迁移请求
迁移 Exchange 2007 公用文件夹的步骤与迁移 Exchange 2010 公用文件夹的步骤不同。请确保您按正确的步骤执行。
迁移 Exchange 2007 公用文件夹
1. Exchange 2007 中的旧版系统公用文件夹(例如 OWAScratchPad 和 schema-root 文件夹子树)不会被 Exchange 2013 识别识别出来,且将被视为无效项目。这会导致迁移失败。作为迁移请求的一部分,您必须为 BadItemLimit 参数指定值。此值根据您拥有的公用文件夹数据库数量而有所不同。以下命令将确定您拥有的公用文件夹数据库的数量并为迁移请求计算 BadItemLimit。
$PublicFolderDatabasesInOrg = @(Get-PublicFolderDatabase)
$BadItemLimitCount = 5 + ($PublicFolderDatabasesInOrg.Count -1)
2. 在 Exchange 2013 邮箱服务器上,运行以下命令:
New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server
3. 若要验证迁移是否已成功启动,请运行以下命令。
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | Format-List
4. 您可以定期运行上述命令,检查迁移请求的状态。当状态达到 AutoSuspended 时,可以转到步骤 6:锁定旧版 Exchange 服务器上的公用文件夹以进行最终迁移(需要停机时间)。
迁移 Exchange 2010 公用文件夹
1. 在 Exchange 2013 邮箱服务器上,运行以下命令:
New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server
2. 若要验证迁移是否已成功启动,请运行以下命令。
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | Format-List
3. 您可以定期运行上述命令,检查迁移请求的状态。当状态达到 AutoSuspended 时,可以转到步骤 6:锁定旧版 Exchange 服务器上的公用文件夹以进行最终迁移(需要停机时间)。
操作步骤如下:
1.New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server ex2010.tiancang.net) -CSVData (Get-Content PFmapFolderToMailbox.csv -Encoding Byte)
3. 验证迁移是否正在进行。
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | Format-List
当状态达到 AutoSuspended 时,可以转到步骤 6:锁定旧版 Exchange 服务器上的公用文件夹以进行最终迁移(需要停机时间)
步骤 6:锁定旧版 Exchange 服务器上的公用文件夹以进行最终迁移(需要停机时间)
所需停机时间量取决于自迁移达到 AutoSuspended 状态以来生成的新内容量。如果迁移请求达到 AutoSuspended 状态和完成迁移之间的时间间隔较长,我们建议您运行以下命令,以便同步原始同步之后的更改。这会减少完成迁移所需的停机时间量。 Resume-PublicFolderMigrationRequest \PublicFolderMigration
在旧版 Exchange 服务器中,运行以下命令锁定旧版公用文件夹,以便完成迁移。
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
步骤 7:完成公用文件夹迁移(需要停机时间)
默认情况下,当运行 Set-PublicFolderMigrationRequest cmdlet 时,它不会完成,直到删除 PreventCompletion 标志并恢复迁移请求。
Set-PublicFolderMigrationRequest -Identity \PublicFolderMigration -PreventCompletion:$false
Resume-PublicFolderMigrationRequest -Identity \PublicFolderMigration
步骤 8:测试和解锁公用文件夹迁移
如果您遇到任何问题,请参阅本主题后面的回滚迁移。如果公用文件夹的内容和层次结构可接受并按预期方式工作,运行以下命令,为所有其他用户解锁公用文件夹。
Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
在旧版 Exchange 服务器中,运行以下命令,以指示公用文件夹迁移已完成:
Set-OrganizationConfig -PublicFolderMigrationComplete:$true
步骤 9:从旧版Exchange服务器中删除公共文件夹数据库
1、 取消公共文件夹分发
2、Remove-PublicFolderDatabase -Identity "public2010"
3、删除公共文件夹数据库文件。