Powershell-Office365 Exchange入站和出站邮件

问题描述 投票:0回答:1

[尝试设置一个PS脚本来查询O365 Exchange,检查入站邮件,计算所有入站邮件,返回计数,并对出站进行相同操作。

这是我到目前为止的内容,它始终返回相同数量的入站与出站消息,数量为500500。

除非确定为预设的最大值,并且我已经达到上限,否则请不确定。

# initialize session
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

# O365 Inbound/Outbound tracking
$inbound = Get-MailTrafficReport -Direction Inbound | select "MessageCount" 
$inbound -replace "[()\s+]"

$i = $inbound
$(for($i=0;$i -le 1000; $i+=1){$i} ) | ForEach-Object -begin {$inbound_sum=0 }-process {$inbound_sum+=$_}
$inbound_sum

# send sum to streaming dataset? 
$outbound = Get-MailTrafficReport -Direction Outbound | select "MessageCount" 
$outbound -replace "[()\s+]"

$o = $outbound
$(for($o=0;$o -le 1000; $o+=1){$o} ) | ForEach-Object -begin {$outbound_sum=0 }-process {$outbound_sum+=$_} 
$outbound_sum

inbound_sum = outbound_sum?我在这里想念什么?

我尝试在迭代器行中取出$0 -le 1000,但它只是挂了。尽管如此,我怀疑将结果限制为1000是否会将入站和出站的总和完全相同。

500是Windows管理帐户uid,看来我已经达到管理限制。

powershell office365 exchangewebservices
1个回答
0
投票

将其放入此处,因为对于普通评论来说太长了。

根据MS docs,AD,Exchange等的规定,相对于一次将返回多少记录设置了默认限制,除非您将其设置为无限制。请参阅有关该主题的文档。

但是,为什么不使用MS Exchange / O365内置消息,监视,跟踪和日志记录来获取此数据/统计信息?

Monitoring, reporting, and message tracing in Exchange Online

Microsoft 365 Reports in the admin center - Email activity

如果您不必在默认的解决方案/服务已经提供时就不必重新发明轮子(除非这是一种学习练习,否则您确实觉得自己可以做得更好)。查看下面的脚本,并根据需要进行调整。

Office 365 Mail Traffic Statistics by User

此脚本连接到Office 365,并检索入站和收件人针对所有可用日期的出站邮件流量统计信息。然后,此信息将导出到CSV文件,该文件可以在Microsoft Excel。

Download: Get-DetailedMessageStats.ps1

Office 365 Exchange Auditing and Reporting - Mailbox Usage, Traffic Reports, etc

获取有关传入和传出邮件流量的160多个O365 Exchange报告,垃圾邮件/恶意软件电子邮件,邮箱转发,邮箱权限,邮箱审核,非所有者访问,邮箱登录,邮箱大小和使用情况,活动和非活动邮箱,通讯组及其成员身份等

Download: Office365-Exchange-Tool.exe

© www.soinside.com 2019 - 2024. All rights reserved.