
나는 이메일 주소/도메인의 긴 목록을 가지고 있으며 우리 편지함 중 하나라도 그로부터 이메일을 받았는지 확인해야 합니다.
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가 부분 주소를 처리하므로 작업이 쉬워진다는 것입니다.
전체 스크립트가 있으면 이 답변을 업데이트하겠습니다.