通过Powershell在线交换所有邮件的收件人地址

时间:2017-06-02 21:58:14

标签: powershell messages

到目前为止,我已经使用了一个包罗万象的邮箱。我使用不同的邮件地址注册了每个帐户,例如stackoverflow.com@mydDomain.de

由于我刚刚切换到O365,我想为所有帐户创建别名。我将所有邮件都导入O365,我需要获取所有收件人地址。

因此,我需要一个Powershell脚本来遍历O365 Mailsbox中的所有消息,以提取Mail recpient。

我尝试使用get-MessageTrace,它似乎正在运行:

$dateOBJ = (Get-Date).Adddays(-30);
$allRecipientsARY = Get-MessageTrace -StartDate $dateOBJ -EndDate (Get-Date) | Group-Object -Property RecipientAddress | Select name

$recipientsARY = @()

ForEach ($recipientSTR in $allRecipientsARY)
{
    if($recipientSTR -like '*myDomain.com*')
    {
        $recipientsARY = $recipientsARY + $recipientSTR
    }
}

$recipientsARY | Export-Csv c:\temp\mailAddresses.csv –NoTypeInformation -Encoding UTF8

问题是get-MessageTrace函数仅支持从当前日期开始30天的邮件。

还有其他选择吗?到目前为止,我还没找到一个......

-thx 戴夫

0 个答案:

没有答案