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가 부분 주소를 처리하므로 작업이 쉬워진다는 것입니다.

전체 스크립트가 있으면 이 답변을 업데이트하겠습니다.

관련 정보