Через MessageTrackingLog можно собрать всё что вам требуется (сомнения есть по встречам). Автоматизированных вещей прямо под вашу задачу из коробки - не припомню. Есть тулза от MS - LogParser Studion - https://goo.gl/GVFpme - Попробуйте её.
noradrenaline23: Всем настроить аутлюки как основной клиент. Выгрузить всю почту в несколько PST по годам (разделить на 4 года), сделать бэкап (зашифровать и в облако, на USB диск, нарезать на болванки), сделать шаренную папку, ограничить пользователей правами Read-Only, написать скрипты, положить рядом с адекватными называниями: "подключить 2014 год" и "отключить 2014 год" - который монтирует/демонтирует PST файлы. Обучить пользователей, сказать что отныне так. Профит.
PS
Каждый следующий закрытый год - проделывать ту же процедуру, пока компания не дорастет до более зрелых решений.
Наверное нужно отсортировать по дате по убыванию список, потом найти сообщение в списке с требуемым MessageID, и начиная с n+1 - выводить туда куда нужно...
Kirill Nov: в целом всё что нужно там для вас есть, но в последнее время качество поддержки сильно упало. Нюансы по фильтрации почты сильно ограничены. Эксклюзивно под вас никто ничего делать не будет, т.к. отсутствует мультитенантность, допустим 90% спама в РФ можно рубануть проверяя DNS PTR - в симантеке этого нет и не включат. Ну в целом моё мнение субъективно, по этому я бы не посоветовал, но можно попросить месяц погонять наверное, вдруг вам понравится.
PS
Если организация не большая, лучше пара VPSок + postfix + spamassasign - придется помучится - но возможно выйдет лучше коммерческой.
Я бы посмотрел ORF, отечественный продукт (on-premise), и ни в коем случае не Symantec.Cloud.
От ORF были только положительные эмоции, не знаю как он масштабируется на большие компании, но для 100-200 пользователей было самое оно. А про альтернативы я бы и сам послушал.
Виталий: Задача конечно странная, т.е. если почта отправлена и внутри и наружу, считаться не должна как я понимаю, вероятно в лоб реализовать невозможно, предоложим ваш домен "@test.ru", допустим получатели "user1@test.ru, user2@external.com" - и попробуйте описать правило одной командой даже на регулярках (вероятно кто-то сможет конечно сходу выдать решение), но я вижу схему так (т.е. это будет скрипт, а не 1 команда на PS):
$x = get-transportservice | get-messagetrackinglog -start 07/28/2016 -eventid DELIVER | ? {$_.Sender -match "@test.ru}
Теперь из этого $x выбираете кол-во получателей, и в цикле сравниваете совпадает ли домен с вашим, если хоть 1 не совпадает - отбрасываете такой запрос, если же всё нормально - запоминаете в новый массив получателя, отправителя, дату и тему, допустим в $y.
И уже после этого полученный $y | % {search-mailbox $_ -SearchQuery "Received:$_.Timestamp AND from:$_.Sender ....}
Ну вот как то так я это вижу.
А какой результат вы хотите получить этим сёрчем? Не хочется гадать, но раз описания не много, то попробую пальцем в небо: может просто включить журналирование?
deptk: Понятно. Если правилами нельзя, то входящий поток следует обрабатывать на VBA. Вешаете обработчик на получение нового письма на определенном аккаунте, и пишете свою логику на каждое входящее.