none
Задача: массовый поиск и выгрузка писем по названиям вложений в почтовом ящике с 40000 писем. RRS feed

  • Вопрос

  • Здравствуйте. Не получается решить задачу.
    Exchange 2013 CU15
    Есть ящик, примерно 40000 писем с вложениями.
    Необходимо выполнить поиск примерно по 200 названиям вложений и выгрузить результаты в другой ящик.
    Тема так же описана по ссылке.

    Указанный совет - не помог, такой код не работает.

    ***
    Если Ваш файл полноценный csv с разделителями и заголовками, то тогда Get-Content не уместен. Вместо этого надо использовать Import-CSV.
    Предположим, что в csv одно поле с заголовком attach. В этом случае Ваш пример будет выглядить следующим образом:
    $items = Import-CSV (path to csv)

    foreach ($item in $items) {
    search-mailbox -identity mailbox1 -searchquery "attachment:$($item.attach)" -targetmailbox mailbox2 -targetfolder Attachments
    }
    ***

    Так же в принципе не работает корректно даже одиночный поиск через search-mailbox и new-mailboxsearch при попытке сделать -searchquery вида attachment:'ТЕСТ ТЕСТ.jpg' с любым сочетанием знаков препинания " ' {
    (как указано в документации)

    Хотя через интерфейс OWA/Outlook явно видно, что письма с таким вложением есть.

    Как можно автоматизировать решение проблемы?

    5 октября 2017 г. 11:17

Ответы

  • В целом, вот такая команда работает:

    search-mailbox -identity mailbox1 -searchquery "attachment:'ТЕСТ ТЕСТ.jpg'" -targetmailbox mailbox2 -targetfolder Attachments2

    Но через раз. Не удобно контролировать 400 раз.

    То есть через раз? подробнее, что то не попадает в этот фильтр, или что-то лишнее?

    Если отрабатывает через раз значит причину надо искать в файлах вложениях.

    "attachment:'$($item.testname)'"   В одинарные ковычки заключите.

    6 октября 2017 г. 4:59

Все ответы

  • В наличии есть скрипт для решения аналогичной задачи через EWS: выгрузка всех вложений из этого ящика на сетевую папку.

    Есть более адекватные способы, кроме EWS?
    5 октября 2017 г. 11:26
  • Как вы выполняете поиск, дайте скрипт.

    Проверил всё ищется без проблем.

    5 октября 2017 г. 13:32
  • Единичный вот так:

    search-mailbox -identity mailbox1 -searchquery 'attachment:"ТЕСТ ТЕСТ.jpg"' -targetmailbox mailbox2 -targetfolder Attachments2
    или так
    search-mailbox -identity mailbox1 -searchquery "attachment:'ТЕСТ ТЕСТ.jpg'" -targetmailbox mailbox2 -targetfolder Attachments2

    Соотв-но автоматический вот так например:

    $items = import-csv "C:\scripts\attachments2.txt" -encoding utf8
    1 колонка, testname, просто названия файлов.

    в любых вариациях
    foreach ($item in $items) {search-mailbox -identity mailbox1 -searchquery "attachment:$($item.testname)" -targetmailbox mailbox2 -targetfolder Attachments2}
    5 октября 2017 г. 13:56
  • В целом, вот такая команда работает:

    search-mailbox -identity mailbox1 -searchquery "attachment:'ТЕСТ ТЕСТ.jpg'" -targetmailbox mailbox2 -targetfolder Attachments2

    Но через раз. Не удобно контролировать 400 раз.

    5 октября 2017 г. 14:10
  • В целом, вот такая команда работает:

    search-mailbox -identity mailbox1 -searchquery "attachment:'ТЕСТ ТЕСТ.jpg'" -targetmailbox mailbox2 -targetfolder Attachments2

    Но через раз. Не удобно контролировать 400 раз.

    То есть через раз? подробнее, что то не попадает в этот фильтр, или что-то лишнее?

    Если отрабатывает через раз значит причину надо искать в файлах вложениях.

    "attachment:'$($item.testname)'"   В одинарные ковычки заключите.

    6 октября 2017 г. 4:59
  • Спасибо, сам синтаксис цикла заработал.

    Буду разбираться в причинах отсутствия в результатах поиска писем, которые явно есть в ящике и спокойно находятся через Outlook/OWA.
    Была мысль, что индексирование для JPEG отключали, но там все включено.
    6 октября 2017 г. 8:11
  • А далее все становится веселее.

    https://blogs.technet.microsoft.com/johnbai/2014/02/11/exchange-2013-ediscovery-changes/

    Get-FailedContentIndexDocuments для ящика (а там почти 40000 писем с вложениями в основном JPG) показывает тысячи ошибок
    The document parser encountered a processing error.                  
    The attachment limit was reached.                                    

    По первой - анализ показывает наличие в ошибках минимального количества jpg файлов с 3-4 именами файлов, исключительно от авто систем сканирования, возможно действительно проблемы с форматом jpg для поиска. Других JPG файлов нет.

    301002 Error parsing document exchange://localhost/Attachment/bffd6c69-228c-4ea0-9424-bd98ce853faf/03e889b5-7e2b-48d0-84a9-5b83652ac82a/c6b6d07a-93f6-493f-81f5-4f43abe2842f/da11f402-7213-468e-b7f1-8aa68426b029/2534030712278.0/Скан_DiagnosticScan_1.jpg. Document has an undetectable format and will not be parsed. 

    Все остальные ошибки - не про JPG документы.
    6 октября 2017 г. 8:56