none
Удаление больших вложений из встречь. RRS feed

  • Вопрос

  • Добрый день, есть ли возможность с помощью PS удалить большие вложения из встреч в календаре (в том числе и повторяющихся) встреч
    19 августа 2019 г. 14:59

Ответы

  • Добрый день.

    Вот здесь есть скрипт для работы со встречами, но в нем основная задача разделить Single и Recurring объекты.
    Просто прикрутите к нему поиск по размеру вложений (в EWS это не сложно).

    https://blogs.msdn.microsoft.com/emeamsgdev/2015/02/25/powershell-search-for-appointments/
    https://code.msdn.microsoft.com/exchange/PowerShellEWS-Search-e0f9c169

    Строка, отвечающая за сабж.

    Найдет Recurring (в оригинале)
    if ( $item.AppointmentType -eq [Microsoft.Exchange.WebServices.Data.AppointmentType]::RecurringMaster ) { $match = $True } else { $mismatch = $True } 

    Найдет Single
    if ( $item.AppointmentType -ne [Microsoft.Exchange.WebServices.Data.AppointmentType]::RecurringMaster ) { $match = $True } else { $mismatch = $True }
    20 августа 2019 г. 10:39

Все ответы

  •  Здравствуйте,

    Можете прочитать как  это сделать Delete calendar meetings in a Mailbox using PowerShell – Exchange


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий. Не забывайте помечать сообщения как ответы и полезные, если они Вам помогли.

    20 августа 2019 г. 5:25
    Модератор
  • К предложенному выше:

    1. Запретить в целом вложения в календаре Set-CalendarProcessing -DeleteAttachments $TRUE

    2. Отслеживать появление больших вложений при создании встреч via transport rule, вот пример

    20 августа 2019 г. 6:25
  • Спасибо! Я видел этот мануал, но он не совсем подходит. Что делать, в случае, если subject встречи не известен, и имя attachment то же не известно? Просто задача стоит следующим образом:

    Дано: n-ящиков
    В этих ящиках есть встречи, как единичные, так и повторяющиеся 
    В этих встречах (не всех) есть вложения, зачастую большие.
    Нужно: удалить все вложения из встреч, оставив только в за последние 3-4 месяца. Но так, что бы сами встречи (особенно повторяющиеся) остались. 
    В принципе можно удалить и все встречи, старше 3-4 месяцев, но нужно не затронуть повторяющееся в будущем периоде.

    Я пытался пойти по последнему пути, но:  Это прокатывает на единичных встречах, но не прокатывает на повторяющихся встречах когда конечный срок не известен.

    Пытался разрулить с помощью Retention Policy, но опять грабли: На единичных встречах с вложениями Retention Policy  отрабатывают, но с повторяющимися встречами есть проблемы, а именно: Для повторяющихся событий датой, от которой отслеживается срок, является дата окончания последнего события в цикле повторения. Если число повторений не ограничено, то такие события никогда не устаревают и не попадают под действие Retention Policy.

    Пытался накидать скрипт что-то типа такого:

    Get-Mailbox -Identity “USERHERE” | Search-Mailbox  -SearchQuery kind:meetings  {Size -gt 1024KB} -and {((Received -lt ’12/06/2010) -and (Received -ge ’01/01/2013')) -DeleteContent -force
    Но что-то не срабатывает такая конструкция....


    • Изменено Dshumov 20 августа 2019 г. 6:30
    20 августа 2019 г. 6:26
  • Не вариант...
    20 августа 2019 г. 7:27
  • Здесь предоставлен скрипт по описанию отвечающий выполнению Вашей задаче. Луше сперва протестируйте на тестовом ящике.

    Как вариант, Вы могли бы настроить  Retention Policies для удаления старых собраний.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    20 августа 2019 г. 7:47
    Модератор
  • Здесь предоставлен скрипт по описанию отвечающий выполнению Вашей задаче. Луше сперва протестируйте на тестовом ящике.

    Как вариант, Вы могли бы настроить  Retention Policies для удаления старых собраний.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    Видел этот скрипт, но он заточен на работу с клиентской стороны. Мне нужно со стороны сервера - удаленно.

    Пытался разрулить с помощью Retention Policy, но опять грабли: На единичных встречах с вложениями Retention Policy  отрабатывают, но с повторяющимися встречами есть проблемы, а именно: Для повторяющихся событий датой, от которой отслеживается срок, является дата окончания последнего события в цикле повторения. Если число повторений не ограничено, то такие события никогда не устаревают и не попадают под действие Retention Policy.

    20 августа 2019 г. 7:53
  • Добрый день.

    Вот здесь есть скрипт для работы со встречами, но в нем основная задача разделить Single и Recurring объекты.
    Просто прикрутите к нему поиск по размеру вложений (в EWS это не сложно).

    https://blogs.msdn.microsoft.com/emeamsgdev/2015/02/25/powershell-search-for-appointments/
    https://code.msdn.microsoft.com/exchange/PowerShellEWS-Search-e0f9c169

    Строка, отвечающая за сабж.

    Найдет Recurring (в оригинале)
    if ( $item.AppointmentType -eq [Microsoft.Exchange.WebServices.Data.AppointmentType]::RecurringMaster ) { $match = $True } else { $mismatch = $True } 

    Найдет Single
    if ( $item.AppointmentType -ne [Microsoft.Exchange.WebServices.Data.AppointmentType]::RecurringMaster ) { $match = $True } else { $mismatch = $True }
    20 августа 2019 г. 10:39