【摘要】
从Exchange 2013起,微软使用邮箱基础结构对公用文件夹进行重新工程设计,以利用邮箱数据库的现有高可用性和存储技术来管理公用文件夹。公用文件夹体系结构使用专门设计的邮箱来存储公用文件夹层次结构和内容。这也意味着公用文件夹数据库已不存在。而从Exchange2016起更是只支持使用批处理的迁移方法来将公用文件夹从之前版本的公用文件夹数据库迁移到新版的公用文件夹邮箱。
【正文】
一、Exchange2010服务器版本需求
1. Exchange2007、2010等版本在将公用文件夹迁移到2013可采用串行迁移和批处理迁移两种方式来进行,其中串行迁移对旧服务器版本无需求,但批处理迁移则需满足以下条件:
-
Exchange 2010 SP3 RU8 或更高版本
-
Exchange 2007 SP3 RU15 或更高版本
2. 进行RU8安装时,需要先取消证书吊销检查,否则安装过程可能比较缓慢,关闭路径为:开IE浏览器--Internet选项--高级--安全--检查发行商的证书是否吊销(去掉对勾)。
3. 若直接运行Ru8或以上版本程序时会安装失败,需以管理员身份运行CMD,然后通过CMD窗口调用补丁包进行安装。
4. 当前组织架构内的2010服务器并不需要完全安装,仅需对装载有公用文件夹数据库的服务器进行补丁更新即可。
二、迁移准备
1. 如果公用文件夹的名称中包含反斜杠“\”,则在迁移发生时公用文件夹会在父公用文件夹中进行创建。在迁移之前,需对名称中包含反斜杠的公用文件夹进行重命名。
Ø 在 Exchange 2010 中,若要找到名称中包含反斜杠的公用文件夹,请运行以下命令:
Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like "*\*"} | Format-List Name, Identity
Ø 可使用以下命令对返回的任何公用文件夹进行重命名:
Set-PublicFolder -Identity <public folder identity> -Name <new public folder name>
2. 确保Ex2010服务器上没有成功迁移的记录
Ø 查看公用文件夹的迁移状态
Get-OrganizationConfig | Format-List PublicFoldersLockedforMigration, PublicFolderMigrationComplete
Ø 如果 PublicFoldersLockedforMigration 或 PublicFolderMigrationComplete 属性的状态为 $true,需将此值设置为 $false
Set-OrganizationConfig -PublicFoldersLockedforMigration:$false -PublicFolderMigrationComplete:$false
3. 确保Ex2016上没有公用文件夹迁移请求
Ø 检查串行迁移请求
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | Format-List
Ø 删除已存在的串行迁移请求
Get-PublicFolderMigrationRequest | Remove-PublicFolderMigrationRequest
Ø 检查批处理迁移请求
$batch = Get-MigrationBatch | ?{$_.MigrationType.ToString() -eq "PublicFolder"}
Ø 删除已存在的批处理迁移请求
$batch | Remove-MigrationBatch -Confirm:$false
4. 确保Exchange2016上没有公用文件夹或公用文件夹邮箱
Ø 检查是否有任何公用文件夹邮箱或者公用文件夹
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
三、生成配置文件
1. 下载公用文件夹批处理迁移脚本
https://www.microsoft.com/en-us/download/details.aspx?id=38407
2. 创建文件夹名称到文件夹大小的映射文件
Ø .\Export-PublicFolderStatistics.ps1 "\\192.168.10.52\PFMigration\PFName2Size.csv" 10EX01.contoso.com
Ø 当前工作目录需切换到迁移脚本所在文件夹,脚本需要以管理员身份运行。
3. 创建公用文件夹到邮箱的映射文件
Ø .\PublicFolderToMailboxMapGenerator.ps1 10240MB "\\192.168.10.52\PFMigration\PFName2Size.csv"\\192.168.10.52\PFMigration\PFName2mail.csv
四、在Ex2016服务器上创建公用文件夹邮箱
.\Create-PublicFolderMailboxesForMigration.ps1 -FolderMappingCsv "\\192.168.10.52\PFMigration\PFName2mail.csv" -EstimatedNumberOfConcurrentUsers:1
五、启动迁移请求
1. 创建迁移批处理
New-MigrationBatch -Name PFMigration0317 -SourcePublicFolderDatabase (Get-PublicFolderDatabase -Server "10EX01.contoso.com") -CSVData (Get-Content "\\192.168.10.52\PFMigration\PFName2mail.csv" -Encoding Byte) -NotificationEmails administrator@contoso.com
2. 启动迁移
Start-MigrationBatch PFMigration0317
3. 迁移状态查看,此时“状态”列会将初始批处理状态显示的“已创建”变成“正在同步”
Get-MigrationBatch PFMigration0317
六、完成最终迁移(需要停机时间)
1. 锁定Ex2010的公用文件夹,修改完成后续重启信息存储服务
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
2. 修改Ex2016部署类型
Set-OrganizationConfig -PublicFoldersEnabled Remote
3. 迁移状态查看,当状态变为“已同步”后运行如下命令
Complete-MigrationBatch PublicFolderMigration
七、测试迁移结束
1. 迁移状态查看,当状态变为“已完成”后解除锁定;
2. 设置Ex2010迁移已经完成
Set-OrganizationConfig -PublicFolderMigrationComplete:$true
3. 调整Ex2016的配置信息
Set-OrganizationConfig -PublicFoldersEnabled Local
4. 重启Ex2010和Ex2016的信息存储服务,检查迁移结果是否正常。