Статистика электронной почты Office 365 - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь подсчитать общее количество писем, отправленных и полученных с определенной учетной записи электронной почты за период.Код работает, но дает немного завышенный результат.Пожалуйста, посмотрите на приведенный ниже код, если он может дать правильный результат.Я знаю, что могу использовать $ Allmessages только один раз без фильтрации по SenderAddress, а затем по RecipientAddress, но он работает вечно без фильтрации.

    $Allmessages_sent = @()  
    $P = 1  
    do  
   {
    $pagedmessages_sent = Get-MessageTrace -SenderAddress $emailgroup -StartDate $StartDate -EndDate $EndDate -PageSize 1000 -Page $p `
            | Select Received,SenderAddress,RecipientAddress,Size
    $Allmessages_sent += $pagedmessages_sent 
    $p = $p + 1  
   }  
    until ($pagedmessages_sent -eq $null)  
    $senderssorted = 0;
    $senderssorted = $Allmessages_sent |group senderaddress | select @{n="SentCount";e={$_.Count}} 
    $Allmessages_rcvd = @()  
    $P_ = 1  
   do  
   {  
    $pagedmessages_rcvd = Get-MessageTrace -RecipientAddress $emailgroup -StartDate $StartDate -EndDate $EndDate -PageSize 1000 -Page $p_ `
            | Select Received,SenderAddress,RecipientAddress,Size
    $Allmessages_rcvd += $pagedmessages_rcvd
    $p_ = $p_ + 1  
    }  
    until ($pagedmessages_rcvd -eq $null)  
    $recipientsorted = 0;
    $recipientsorted = $Allmessages_rcvd |group recipientaddress | select @{n="ReceivedCount";e={$_.Count}};
    $totalSent = 0; 
    $totalRsvd = 0;
    $totalSent = $senderssorted.Sentcount;
    $totalRsvd = $recipientsorted.ReceivedCount;
    $arrayResult = @();
    $arrayResult += $totalSent;
    $arrayResult += $totalRsvd
    Write-Host "Sent: " $arrayResult[0];
    Write-Host "Received: " $arrayResult[1];

Спасибо

1 Ответ

0 голосов
/ 03 мая 2019

Это решено.Расхождения объяснили: - Всего расхождений «Получено» было из-за того, что были подсчитаны электронные письма со статусом «Сбой».Итак, я добавил -Status «Доставлено» для обеих частей «Get-MessageTrace -SenderAddress…», а также «Get-MessageTrace -RecipientAddress».- Общее количество «отправленных» расхождений было связано с переадресацией электронных писем через настройку «Правила» из моего почтового ящика, которую я не смог увидеть в папке Outlook «Отправленные».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...