Exchange 2013邮箱数据库导出和导入数据
应用场景:对于无邮件归档的环境,需要将某离职用户所有邮件导出pst文件,并导入到新邮箱用户;
【摘要】
对于Exchange管理员来说,管理和维护邮箱数据库是一项必须掌握的技能。比如:对邮箱数据库中的用户邮箱数据进行备份;将离职员工的邮件导出,再导入到接替工作的员工的邮箱中;满足审计部门对用户邮件的审计要求......很多邮箱系统的管理需求都要求我们具备管理和维护邮箱数据库的能力。本文介绍如何在Exchange 2013邮件系统上对邮箱数据库的数据进行导出和导入操作。
【正文】
服务器名称 |
服务器角色 |
IP地址 |
DC01 |
域控制器 |
192.168.10.10 |
SRV01 |
Exchange 2013前端和后端 |
192.168.10.50 |
WIN8-1 |
客户端 |
192.168.10.100 |
1. 新建AD用户tom和ken,并在Exchange服务器上启用两个用户邮箱,进行邮件互发。
2. 登陆DC01,新建一个名为“share”的共享文件夹。
1. 进行导入导出操作的Exchange 服务器管理员必须要成为“邮箱导入导出角色”。默认情况下,Exchange 邮件系统中的任何用户和组都不属于这一角色。可以通过以下命令使域管理用户(或其他Exchange管理员)成为“邮箱导入导出角色”。打开EMS,输入命令如下:
New-ManagementRoleAssignment -Name "Import Export_Domain Admins" -User "Administrator" -Role "Mailbox Import Export"
加入用户账户到邮箱导入导出角色后,重启EMS。
2. 对导出或导入邮箱的网络共享文件夹share授予对“Exchange 受信任子系统”组的读/写权限。此处,我们对共享文件夹share给everyone读写权限。
3. 输入命令:
New-MailboxExportRequest -Mailbox tom -FilePath "\\dc01\Share\tom_Recovered.pst"
新建邮箱导出申请,命令完成后,邮箱即导出成功。
4. 导出成功后,新建的导出请求是不会被删除的。我们可以通过以下命令查看已经新建了的导出请求列表:Get-MailboxExportRequest
5. 已经完成邮箱导出的请求,可以将其进行删除,使用如下命令:
Remove-MailboxExportRequest -Identity "tom\Mailboxexport1"
6. 导出的.pst文件还能挂载到outlook中进行查看。
7. 还能使用New-MailboxExportRequest将用户邮箱的特定文件夹导出成PST文件。
示例 1
本示例将用户 Ayla Kol 的主邮箱导出到 SERVER01 的网络共享文件夹 PSTFileShare 上的 .pst 文件。
New-MailboxExportRequest -Mailbox AylaKol -FilePath "\\SERVER01\PSTFileShare\Ayla_Recovered.pst"
示例 2
本示例将用户 Kweku 的存档导出到 SERVER01 的网络共享文件夹 PSTFileShare 上的 .pst 文件。
New-MailboxExportRequest -Mailbox Kweku -FilePath "\\SERVER01\PSTFileShare\Kweku_Archive.pst" -IsArchive
示例 3
本示例导出用户 Tony 在 2012 年 1 月 1 日之前收到的邮件正文中包含“公司”和“利润”的邮件。
New-MailboxExportRequest -Mailbox Tony -ContentFilter {(body -like "*company*") -and (body -like "*profit*") -and (Received -lt "01/01/2012")} -FilePath "\\SERVER01\PSTFileShare\Tony_CompanyProfits.pst"
示例 4
本示例将 Kweku 的收件箱中的所有邮件导出到 .pst 文件 InPlaceHold。
New-MailboxExportRequest -Mailbox Kweku -IncludeFolders "#Inbox#" -FilePath \\SERVER01\PSTFileShare\Kweku\InPlaceHold.pst
沿用上述实验中的实验环境和实验结果。
1. 把实验1中的share共享文件夹的pst文件导入到ken的邮箱,需要先授予share文件夹"exchange trusted subsystem"组读写权限,实验1中已经对everyone授予读写权限。
2. 使用如下命令,将刚才导出的tom的pst文件导入到ken的邮箱中:
New-MailboxImportRequest -Mailbox ken -FilePath \\dc01\share\tom_Recovered.pst -TargetRootFolder "test"
3. 清除导入请求:
Microsoft Exchange 最多可以为邮箱导入请求自动生成 10 个唯一名称。如果要为一个邮箱创建 10 个以上的导入请求,您需要在创建导入请求时指定唯一名称,或者可以先使用 Remove-MailboxExportRequest cmdlet 删除现有的导入请求。因此,导入请求完成后,可对请求进行清除。
4. Ken登陆邮箱,相应的pst文件已经导入成功。
导入成功后可在test的收件箱里查看到tom_Recovered.pst里的邮件,通过移动的方式把test里的所有邮件移走后,把test删除即可。
5. 也可以将特定文件夹进行导入:
示例 1
本示例将 SERVER01 中已恢复的 .pst 文件导入到用户 Ayla 的主邮箱。只导入 .pst 文件的“收件箱”中的数据。将数据导入到 Ayla 的目标邮箱的 RecoveredFiles 文件夹中。
New-MailboxImportRequest -Mailbox Ayla -FilePath \\SERVER01\PSTFiles\Recovered.pst -TargetRootFolder "RecoveredFiles" -IncludeFolders "#Inbox#"
示例 2
本示例将 .pst 文件导入到 Kweku 的存档文件夹。未指定 TargetRootFolder;因此,合并现有文件夹下的内容,如果目标文件夹结构中不包含这些内容,则创建新文件夹。
New-MailboxImportRequest User2 -FilePath \\server\share\User1.pst -IsArchive -TargetRootFolder /
示例 3
本示例导入共享文件夹上的所有 .pst 文件。在相应用户的别名后命名每个 .pst 文件名。命令为所有 .pst 文件创建导入请求并将数据导入到匹配的邮箱。
Dir \\SERVER01\PSTshareRO\Recovered\*.pst | %{ New-MailboxImportRequest -Name RecoveredPST -BatchName Recovered -Mailbox $_.BaseName -FilePath $_.FullName -TargetRootFolder SubFolderInPrimary}