我们有一个交换混合环境。(有些用户在本地交换,有些用户是office 365。)
当我们想从onpremis中导出电子邮件时,我们使用下面的命令来导出邮箱和存档。
New-MailboxExportRequest -Mailbox "user" -FilePath \\mysrv\l$\PST\Mailbox-user.pst; New-MailboxExportRequest -Mailbox "user" -IsArchive -FilePath \\mysrv\l$\PST\Mailbox-user-archive.pst -confirm:$false
New-MailboxExportRequest 适用于 onpremis 用户而不适用于 office 365。有没有办法使用 powershell 将 office 365 用户邮箱导出到 pst?
到目前为止我已经尝试过:
我登录了office 365
$UserCredential = Get-Credential
Import-Module MSOnline
Connect-MsolService -Credential $UserCredential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session
并尝试过New-MailboxExportRequest
但它会产生错误。显然 Office 365 不知道该命令
PS C:\Users\pp> New-MailboxExportRequest
New-MailboxExportRequest : The term 'New-MailboxExportRequest' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:1 char:1
+ New-MailboxExportRequest
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (New-MailboxExportRequest:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
结果Get-Command *Export*
如下
尝试谷歌搜索,但找不到可行的选择。有人可以指导我吗?办公环境中兼容的命令是什么?
PS:
我尝试过https://www.codetwo.com/admins-blog/how-to-export-office-365-mailboxes-to-pst-using-ediscovery/
使用 E5 许可证,它可以在 GUI 中完美运行。但我担心的是电子发现,并且有许可证有可能用 powershell 做吗?我的意思是通过 powershell 编写脚本/自动化?
您无法使用内置工具通过 PowerShell 将 Exchange Online 邮箱直接导出到 PST。必需的 New-MailboxExportRequest 在线不存在(或未暴露给我们凡人)。
你可以:
我和你一样沮丧。为离开的用户导出邮箱以进行长期存储是不必要的烦人。如果我们可以像导入一样导出到 Azure Blob,那将是一个好的开始。
这不是问题的答案:我还没有尝试直接从 Exchange Online 导出到 PST。
这是对@DonZoomiks 答案最后一点的补充。有点 Powershell,来自各种不为人知的来源的科学怪人,它从 Exchange Online 中提取邮件。根据需要进行定制。
产品是包含检索到的邮件的自定义对象。也许有人可以解决并分享如何在不通过 Outlook 的情况下从那里到 PST?
要求是Exchange Web 服务 (EWS) 托管 API 2.2
所以前两个功能:
和
那么可以:
最后
$Mails
按您的意愿处理。