在 exchange 2007 中使用 export-mailbox 和 import-mailbox 导出导入邮箱数据。
该过程中将使用一个域用户(不能使用 administrator 或域管理员组成员),该成员加入域用户组。
首先,我们创建一个域用户 exadmin 。
第二,需要给这个用户授予邮件组织级别的权限,最小也需要授予 exchange 服务器管理员角色,这样的话就只能在这台单独的服务器上操作。并且需要授予该用户本地管理员权限。
在 exchange server 2007 服务器上打开 exchange 控制台选择组织配置。在右侧操作窗口中选择“添加 exchange 管理员”。在向导窗口中“选择为 exchange 管理员添加用户或组”选择刚刚创建的 exadmin 用户,在“选择此 exchange 管理员的角色和作用域”选择 exchange 服务器管理员角色。并在“选择此角色可以访问的服务器”中选择将要操作的 exchange 服务器。
点击添加,并完成添加操作。(注意,会有警告说需要将此用户添加到本地管理员组)
为了使 exadmin 用户有读取邮箱的权限,我们需要目标邮箱数据库的“ receive as ”权限。这样该用户就可以访问数据库中的邮箱了。
下面就通过 exchange management shell 命令来授予“ receive as ”权限。
Add-ADPermission –Identity “First Storage Group/Mailbox Database”
–User ExAdmin –ExtendedRights Receive-As
如果你想授予该用户所有邮箱的权限使用下面的命令:
G e t-MailboxDatabase | Add-ADPermission -User ExAdmin –ExtendedRights
Receive-As
需要注意的是该权限需要刷新 Information Store 服务的缓存才能生效,这有可能需要 2 个小时的时间,如果想立即生效可以重新启动该服务,但是此过程中导致最终用户不可使用其邮箱。
导出邮件
接下来就可以使用 exadmin 用户登录服务器在 exchange management shell( 以管理员身份运行 ) 中进行导出操作了:
Export-Mailbox –Identity username –PSTFolderPath c:/temp
删除邮件特定内容的邮件(特殊情况使用)
export-mailbox -Identity wanglei -ContentKeywords keywords -DeleteContent
导入邮件
导入 .pst 文件同样是有权限要求的,不能使用域管理员组的用户,我们同样使用 exadmin ,但是这次我们需要授予它“ send-as ”权限
Add-ADPermission –Database “First Storage Group/Mailbox Database ”
–User ExAdmin –ExtendedRightsSend-As
接下来导入 .pst 文件
Import-Mailbox –Identity username –PSTFolderPath
c:/temp/username .pst
在exchange 2010 中的操作就更简单了
因为使用 ADD-ADPermission 命令授予权限容易出错,并且难以排错。在 2010 中,微软引入了基于角色的访问控制即 RBAC 。 RBAC 中的角色都是预定义好的,这样你需要的操作只是将特定的用户添加到该组中,这样就可以进行需要的操作了。
本实例中,需要将 exadmin 用户添加到“ Mailbox Import Export ”角色中。
New-ManagementRoleAssignment –Role “Mailbox Import Export” –User “ExAdmin”
同样使用 Export-Mailbox 命令导出数据
Export-Mailbox –Identity username –PSTFolderPath c:/temp
导入使用 Import-Mailbox 命令导入数据
Import-Mailbox –Identity username –PSTFilePath c:/temp/username .pst