Автоматическая обработка запросов на повторяющиеся собрания при наличии конфликтов


Поведение Помощника по резервированию ресурсов (Resource Booking Attendant) может показаться непонятным, когда дело доходит до обработки приглашения на повторяющееся собрание, при котором индивидуальные запросы  конфликтуют с существующими элементами календаря. Некоторые администраторы пытались работать с настройками обработки календаря, надеясь разрешить двойное резервирование комнат для повторяющихся собраний, как это могло быть сделано для запросов неповторяющихся  собраний. Как мы увидим, двойное резервирование комнаты в случае повторяющихся собраний и использования Помощника по резервированию ресурсов невозможно. Если кто-то все еще в замешательстве, то надеюсь, что эта статья прояснит происходящее.

Обработка запроса на повторяющееся собрание выполняется согласно настройкам Set-MailboxCalendarSettings в Exchange 2007 и Set-CalendarProcessing в Exchange 2010. Поскольку обе версии используют одни и те же параметры, связанные с запросами на повторяющиеся собрания, то давайте будем использовать документацию Exchange 2010 SP1 для Set-CalendarProcessing:

Параметр Описание
ConflictPercentageAllowed

Параметр ConflictPercentageAllowed задает максимальный процент конфликтов для новых запросов на повторяющиеся собрания. Допустимое значение это целое число от 0 до 100. Если новый запрос на повторяющееся собрание конфликтует с существующими элементами бронирования ресурса более чем на процент заданный значением  ConflictPercentAllowed, то запрос на повторяющееся собрание автоматически отклоняется. Когда значение равно 0, то конфликты для новых запросов не разрешаются.

MaximumConflictInstances

Параметр MaximumConflictInstances задает максимальное число конфликтов для новых запросов на повторяющиеся собрания, когда параметр AllowRecurringMeetings установлен в $true. Допустимое значение этого параметра от 0 до 2147483647. Если новый запрос на повторяющееся собрание конфликтует с cуществующими элементами бронирования ресурса более чем на число раз заданных значением MaximumConflictInstances, то запрос на повторяющееся собрание автоматически отклоняется. Когда значение равно 0, то конфликты для новых запросов не разрешаются.

Когда заданы два этих параметра, они определяют, будет ли Exchange принимать запрос на повторяющееся собрание целиком, всей серией, но не влияют на  то, будет ли он принимать индивидуальные экземпляры. Индивидуальные экземпляры всегда отвергаются (при конфликте).

Примеры

Предположим, что  для почтового  ящика места заданы следующие параметры:

AutomateProcessing : AutoAccept
AllowConflicts : False
AllowRecurringMeetings : True
ConflictPercentageAllowed : 40
MaximumConflictInstances : 6

  1. Запрос на повторяющееся собрание, которое повторяется 10 раз (10 экземпляров), отправляется в этот почтовый ящик. Предположим, что 5 из 10-ти экземпляров (половина) этого собрания происходят в то же самое время, что и другое собрание, назначенное в календаре. В этом случае 50% превышает значение 40% заданное в ConflictPercentageAllowed. Результат: весь запрос на собрание будет отвергнут, и почтовый ящик комнаты отправит обратно организатору собрания сообщение с заголовком Declined All. Пять конфликтных экземпляров отклоняются, так же как пять других, которые не конфликтуют с другими собраниями.
  2. Отправляется другой запрос на собрание. Причем существует 100 экземпляров повторяющегося собрания и 10-ть из них противоречат  существующим. В этом случае значение ConflictPercentageAllowed не превышается 10-ю% . Однако мы превысили значение MaximumConflictInstances, заданное равным 6-ти. Результат: опять весь запрос на собрание отвергается, и все 100 экземпляров отклоняются.
  3. В нашем последнем примере запрос на повторяющееся собрание приходит в почтовый ящик комнаты, причем существует 10 экземпляров и только два из них противоречат существующим. Результат: поскольку мы не превысили ни MaximumConflictInstances, ни ConflictPercentageAllowed, почтовый ящик комнаты принимает весь запрос на повторяющееся собрание, но отвергает бронирование для двух экземпляров, которые имеют конфликт. Экземпляры собрания, которые не имеют конфликта, принимаются и бронируются, затем почтовый ящик комнаты отправляет три письма обратно организатору, одно с заголовком «Принято» (Accepted), подтверждая, что запрос на повторяющееся собрание принят, и два с заголовком «Отклонено» (Declined) для экземпляров с конфликтом.

Таким образом, с помощью этих примеров мы увидели, как запрос на повторяющееся собрание с конфликтующими экземплярами может быть принят или отвергнут на основе настроек обработки календаря. Однако важно повторить, что экземпляр запроса на повторяющееся собрание, который конфликтует с уже принятым, всегда отклоняется.

Как все настройки работают вместе

Теперь я хотел бы слегка коснуться того, как все параметры, которые влияют на обработку запроса на повторяющееся собрание, работают вместе, включая выше рассмотренные параметры ConflictPercentageAllowed и MaximumConflictInstances, а также параметры  AutomateProcessing, AllowConflicts и AllowRecurringMeetings.

  • AutomateProcessing: должен быть установлен в AutoAccept, чтобы разрешить автоматическое бронирование запросов на любые собрания повторяющиеся или нет. Отметим, что значение по умолчанию равно AutoUpdate.
  • AllowRecurringMeetings: значение по умолчанию равно true. Если изменить его на false, то любые запросы на повторяющиеся собрания будут отвергнуты.
  • AllowConflicts: этот параметр определяет, будут ли разрешены запросы на собрания с конфликтами.
    • Если установлен в true, то параметры ConflictPercentageAllowed и MaximumConflictInstances игнорируются календарем. В этом случае календарь принимает все запросы на повторяющиеся события. Конфликтующие экземпляры всегда отклоняются, но число или процент конфликтующих экземпляров не оказывает никакого воздействия на запрос в целом.
    • Если установлен в false (по умолчанию), то мы должны обратиться к параметрам ConflictPercentageAllowed и MaximumConflictInstances, чтобы решить, будет ли целый запрос на повторяющееся собрание принят или отвергнут.

Следующая диаграмма поясняет, как запрос на повторяющееся собрание обрабатывается на основе этих параметров.


 
Рисунок 1. Как обрабатывается запрос на повторяющееся собрание

А что если администратор хочет двойное бронирование комнаты? Какие существуют альтернативы?

  • Использовать неповторяющиеся собрания для экземпляров с конфликтами
  • Установить, что почтовый ящик управляется делегатом, а не только ResourceBookingAttendant. Делегат мог бы затем разрешить двойное бронирование конфликтующих экземпляров повторяющихся собрании.

Итак, запрос на повторяющееся собрание с конфликтующими экземплярами может быть принят или отклонен на основе настроек обработки календаря в почтовом ящике, которые настраиваются с помощью командлетов Set-CalendarProcessing (Exchange 2010) или Set-MailboxCalendarSettings (Exchange 2007). Однако индивидуальные экземпляры запроса на повторяющееся собрание, которые конфликтуют с другим элементом календаря, ВСЕГДА отклоняются.

Спасибо Кристи Старр, Крису Корффу и Тому Керну за помощь.

Джесси Тедофф

Перевод: Илья Сазонов, MVP

Comments (0)

Skip to main content