none
邮箱地址提取 RRS feed

  • 问题

  • EX2013的环境,某员工在某个时间点用他的公司邮箱新建了一封邮件,批量发送给了30个人。

    如何用PS命令导出这封邮件里所有收件人邮箱地址及samaccountname值。

    2018年8月2日 10:07

答案

  • 您好,

    如果您只是想知道这份邮件的收件人邮箱,你可以直接使用以下的命令进行查询:

    Get-TransportServer | Get-MessageTrackingLog -Start "07/13/2018 09:00:00" -Sender "user@domain.com" -MessageSubject "Subject" | where {$_.EventId -eq "SUBMIT"} | select Recipients

    如果您想同时知道这些邮箱的SamAccountName, 您需要使用以下的脚本进行查询:

    $Sender = "user@domain.com"
    $MessageSubject = "Subject"
    
    $Mailboxes = Get-TransportServer | Get-MessageTrackingLog -Start "07/13/2018 09:00:00" -Sender $Sender -MessageSubject $MessageSubject | where {$_.EventId -eq "SUBMIT"} | select -ExpandProperty Recipients
    $Data = @()
    
    foreach($Mailbox in $Mailboxes){
        $Data += Get-Mailbox $Mailbox | select PrimarySmtpAddress,SamAccountName
    }
    
    $Data | Export-Csv c:/temp/test.csv -NoTypeInformation

    需要注意:MessageTrackingLog 默认只记录一个月内的邮件。

    此致,

    敬礼

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    点击了解更多,或者访问我们的专用论坛,与我们的技术专家一起分享探索 Microsoft Teams.

    2018年8月3日 2:43
    版主