1

У меня длинный список адресов электронной почты / доменов, и мне нужно проверить, получал ли какой-либо из наших почтовых ящиков электронные письма от них.

Я могу найти, как искать с помощью графического интерфейса, но это займет слишком много времени. Найдены команды powershell для Exchange 365, но ничего для 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 ответ1

0

ОК, после долгих поисков, я пойду туда. Мне нужно обернуть это в цикл, но есть множество примеров для этого.

    [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 будет обрабатывать частичные адреса, что упрощает его.

Я обновлю этот ответ, как только у меня будет полный сценарий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .