通过 powershell 搜索所有 Exchange 2013 邮箱

通过 powershell 搜索所有 Exchange 2013 邮箱

我有一长串的电子邮件地址/域名,我需要检查我们的邮箱是否收到过来自他们的电子邮件。

我可以找到如何使用 GUI 进行搜索,但这会花费太长时间。找到了 Exchange 365 的 powershell 命令,但没有找到 2013 的命令。

简单输出到以下格式的文件...

address/domain,Yes|No

就足够了。必须从文本文件中读取地址/域列表。

有什么想法/例子吗?


编辑1:以域管理员身份运行时以下内容......

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery from:<text> -estimateresultonly 

但给了我以下格式的所有邮箱的列表:

RunspaceId       : f21e1a-42c-4b7-559-90c643f18
Identity         : <blah/blah>
TargetMailbox    :
Success          : True
TargetFolder     :
ResultItemsCount : 1
ResultItemsSize  : 26.71 KB (27,350 bytes)

答案1

好的,经过多次谷歌搜索,这个可以帮我找到答案。我需要将其包装在循环中,但有很多例子可以说明这一点。

    [PS] C:\>$t = (Get-Mailbox -ResultSize unlimited | 
                Search-Mailbox -SearchQuery from:@gmail.com -estimateresultonly  | 
                measure-object -Property ResultItemsCount -Sum).Sum

    WARNING: The Search-Mailbox cmdlet returns up to 10000 results per mailbox if a search query is specified. To return more than 10000 results, use the New-MailboxSearch cmdlet or the In-Place eDiscovery & Hold console in the Exchange Administration Center.

    [PS] C:\>echo $t
    30312

好消息是 SearchQuery 将处理部分地址,这样就变得简单了。

一旦我获得完整的脚本,我就会更新这个答案。

相关内容