如何在没有服务器访问权限的情况下导出所有邮箱 PST?

如何在没有服务器访问权限的情况下导出所有邮箱 PST?

我正在将邮箱从 HOSTED Exchange 2013 移动到 O365...我无法直接访问服务器来运行 powershell 脚本等。

我正在考虑:

  1. 创建一个“管理员”电子邮件帐户并授予其每个邮箱的完全权限......
  2. 保持登录状态进入 Outlook 2016,以下载“自永远以来的所有电子邮件的离线副本”。
  3. 每次从这个大型 Outlook 中导出一个邮箱。
  4. 批量导入所有 PST使用 AZCopy 到 Azure。
  5. 映射+过滤所有档案并将其发送给 O365 用户。

当我显然无法访问实际托管的 Exchange 服务器时,是否有更好的方法来执行此任务?我只有一个 Web 管理面板,我可以使用它来修改用户并控制他们之间的权限。

我在想也许有一种工具可以完成上述过程,但比 Outlook 更可靠(我在 Outlook 中看到很多损坏的 PST 和不完整的下载)。我猜想有备份工具可以精确地执行这项任务,即远程将所有邮箱下载到 PST...或者也许有另一种方法?

答案1

您可以使用将 Outlook 项目导出到 PST 文件实用程序。该产品的专业版提供了“邮箱”命令行参数,您可以使用它导出所有列出的邮箱(例如,以纯文本文件的形式),而无需将它们附加到 Outlook 配置文件中。您只需要所有所需邮箱的 FullAccess 权限。请注意,我推荐此工具,因为我是开发人员之一。

答案2

我可能有点晚了,但另一种选择是将邮件从源邮箱直接复制到目标邮箱,完全跳过 PST 文件。

为了全面披露,我介绍我建议的工具:PowerMapi。

PowerMapi 是 PowerShell 的一个模块,可让您使用 MAPI。它不是一个简单的模块,这意味着它不仅仅是一个“导入内容”调用,但也不是过于复杂。

例如,如果您对每个源邮箱拥有完全访问权限,则可以执行以下操作:

import-Module PowerMapiLoader
$srcSess = new-MapiSession SourceProfile
$dstSess = new-MapiSession TargetProfile
$srcStore = open-MapiExchangeMailbox $srcSess -MailboxIdentifier [email protected]
$dstStore = open-MapiExchangeMailbox $dstSess -MailboxIdentifier [email protected]
$srcRoot = get-MapiFolder $srcStore -CommonFolder IPMSubtree
$dstRoot = get-MapiFolder $dstStore -CommonFolder IPMSubtree
Copy-MapiFolder -SourceFolder $srcRoot -DestinationFolder $dstRoot -CopySubfolders

因此,在上面,源邮箱和目标邮箱同时打开,并且项目从源邮箱复制到目标邮箱。

这是一个简单的例子,需要进行一些记录和测试,但希望足以展示可以做什么。此外,还有选项可以跳转到消息复制例程(copy-MapiItem)前面,以便过滤复制的内容或在复制完成后对项目进行修改(如果需要)。

如果您需要更多信息,请查看http://powermapi.com/cmdlets

相关内容