Создание и управление room mailbox в Exchange 2007

На недавнем проекте, я задумался о реализации почтовых ящиков для переговорных (meeting room) в Exchange 2007 SP1. Я прочел все имеющиеся статьи TechNet и посты, и пришел к выводу что не всегда удается легко и просто развернуть почтовые ящики для переговорных с корректными политиками, с первого раза. Так что я сделал подборку рекомендаций по быстрому развертыванию “идеальных” почтовых ящиков для переговорных, надеюсь вам тоже пригодится.

Обзор ресурсных почтовых ящиков

Ресурсные почтовые ящики, это особый тип ящиков, представляющий переговорные комнаты, или общее оборудование, и могут быть включены в мероприятия в качестве использующихся материалов. Учетная запись Active Directory, ассоциированная с ресурсным ящиком обычно отключена. В Exchange 2007 существуют следующие различные типы ресурсных ящиков:

  • Room mailbox (кабинет): ресурсный почтовый ящик, назначемый переговорным помещениям, таким как залы конференций, аудитории и учебные кабинеты. Почтовые ящики кабинетов могут быть включены в планирование мероприятия (meeting request).
  • Equipment mailbox (оборудование): ресурсный почтовый ящик, назначаемый движимым предметам, таким как ноутбук, проектор, микрофон или корпоративный автомобиль. Почтовые ящики оборудования также могут быть включены в планируемые мероприятия.
  • Shared mailbox (общий почтовый ящик): почтовый ящик, который преимущественно не закреплен за отдельным пользователем, и сконфигурирован для входа нескольких пользователей. После создания общего почтового ящика (в Exchange Management Shell), необходимо предоставить разрешения всем пользователям, кому требуется доступ к этому ящику. Даже если это и не ресурсный ящик, поясняю, потому что организации обычно использую такие типы ящиков для совместной работы и выполнения своих рабочих функций.

Пример 1: Создание ресурсного ящика
Создание почтового ящика для кабинета:
New-Mailbox -database "Storage Group 1Mailbox Database 1" -Name ConfRoom1 -OrganizationalUnit "Conference Rooms" -DisplayName "ConfRoom1" -UserPrincipalName ConfRoom1@contoso.com -Room

Создание почтового ящика для оборудования:
New-Mailbox -database "First Storage GroupMailbox Database" -Name VCR1 -OrganizationalUnit Equipment -DisplayName "VCR1" - UserPrincipalName VCR1@contoso.com -Equipment

Создание общего почтового ящика:
New-Mailbox -database "Storage Group 1Mailbox Database 1" -Name SharedMailbox01 -OrganizationalUnit "Resource Mailboxes" -DisplayName "SharedMailbox01" -UserPrincipalName SharedMailbox01@contoso.com -Shared

Свойства ресурсного ящика

В ресурсных ящиках можно настраивать различные свойства, аттрибуты. Например, можно задавать значения “ResourceCapacity” (объемы ресурсов), “Office” (кабинет), или “ResourceCustom” (прочие, специальные) параметры в коммандлете Set-Mailbox.

Специальные свойства ресурсов помогут пользователям выбирать наиболее подходящие переговорные комнаты или оборудование, указывая в поиске дополнительную информацию о ресурсе. К примеру, вы можете создать специальное свойство для почтовых ящиков кабинетов, под названием “AV”. А затем добавлять это свойство к почтовым ящикам всех переговорных, оснащенных аудио-видео оборудованием. Это позволит пользователям идентифицировать конференц-комнаты с аудио-видео возможностями. Специальное свойство не содержит значения, это только флаг, который может быть добавлен к ресурсному почтовому ящику. Такие флаги определяются глобально для всей организации Exchange.

Перед тем, как вы сможете назначать специальные свойства в параметры почтовых ящиков комнат или оборудования, необходимо сначала создать такие свойства в своей организации Exchange. Специальное свойство можно добавить коммандлетом Set-ResourceConfig.

Примечание:
Все записи, представляемые в коммандлете Set-ResourceConfig должны начинаться с Room/ либо Equipment/. Настройки новых записей в Set-ResourceConfig не добавляют новых записей в список, а перезаписывают ранее существовавшие записи!

Для каждого отдельного свойства, создаваемого в вашей организации, в можете указать какие типы почтовых ящиков могут получать их (комнаты или оборудование). И при управлении ресурсными почтовыми ящиками, вы можете назначать только те специальные свойства, которые разрешены соотстветствующему типу почтовых ящиков. Т.е. если вы настраиваете почтовый ящик кабинета, вы можете назначить только свойства применимые к почтовым ящикам комнат.

В Microsoft Exchange Server 2003 и более ранних версиях, для создания специальных адресных списков, Глобальных списков адресов (GAL), политик e-mail адресов и групп рассылки, использовался LDAP синтаксис фильтров. В Exchange Server 2007, этот LDAP синтаксис фильтров был заменен на OPATH синтаксис. Значит, новый адресный список может быть основан только на свойствах, фильтруемых параметром -RecipientFilter. (полный список здесь: En MaximumExchange.ru и Ru MaximumExchange.ru). Прочие значения, включая любые ваши собственные расширения схемы не могут быть использованы в параметре -RecipientFilter. Так что аттрибуты LDAP, обозначенные для поиска почтовых ящиков комнат должны быть включены в свойства OPATH, чтобы иметь возможность широкого использования в Exchange 2007.

Пример 2: Создание специального свойства для ресурсного ящика
Set-ResourceConfig -ResourcePropertySchema (Room/TV, Room/VCR, Equipment/Auto)

Пример 3: Настройка свойств ресурсного ящика
Set-Mailbox -Identity "ResourceMailbox01" -ResourceCustom (TV,VCR) -ResourceCapacity 50

Настройки почтового ящика комнаты

Перед тем как создавать различные типы почтовых ящиков для комнат, необходимо обратить внимание на настройках, которые можно использовать в Set-MalboxCalendarSettings. Этим коммнандлетом можно настроить многие параметры ресурсного ящика (максимальная разрешенная длительность встречи, стандрарное время оповещения, итп). Полный список параметров здесь: En MaximumExchange.ru и Ru MaximumExchange.ru.

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

  • None (Нет). Помощник резервирования (Resource booking Attendant) и Помощник по календарям (Calendar Attendant) будут отключены в этом ящике. (Запросы встреч (Meeting requests) не будут обрабатываться, а просто скапливаться в Inbox ящика).
  • AutoUpdate (Автообновление). Это значение по умолчанию. Помощник по календарям будет обрабатывать запросы Встреч, которые будут располагаться в календаре кабинета в режиме ожидания, пока управляющий не подтвердит их. (Организатор Встречи получит только решение управляющего).
  • AutoAccept (Автопринятие) Резервирование ресурса включено для данного почтового ящика кабинета. Это значит, что ящик будет ориентироваться на политики приема запросов (кто может резервировать). (В конфигурации автоматического резервирования, организатор получит решение самой комнаты. В противном случае, организатор сначала получит сообщение об ожидании подтверждения управляющего).

Примечание:

  • Calendar Attendant (Помощник по календарям) автоматически размещает новые встречи в календаре “в режиме ожидания”, обновляет существующие встречи новой информацией и удаляет устаревшие запросы Встреч, без какого-то либо вмешательства пользователя. Помощник по календарям также обрабатывает пересылку оповещений о Встречах, рассылая оповещения при отправке приглашений на Встречу, и добавляя новых участников Встреч при приеме приглашений.
  • Resource Booking Attendant (Помощник резервирования ресурсов) автоматизирует принятие и отмены запросов резервирования ресурса. Политиками, настраиваемыми для каждого ресурса, можно указать кем, когда и на сколько времени ресурс может быть зарезервирован.

Значение AutoAccept позоволяет, с помощью политик указать – кто может резервировать, например, кабинет, и при каких условиях. Для каждого кабинета, каждый пользователь может быть членом разных политик:

  • BookInPolicy” (Резервирование по политике): Список пользователей, кому разрешено назначать Встречи в соответствии с политиками. Такие встречи будут автоматически подтверждены;
  • RequestInPolicy” (Запрос по политике): Список пользователей, кому разрешено размещать запросы на Встречи. Запросы по политике должны будут подтверждаться управляющим почтового ящика для ресурса;
  • RequestOutOfPolicy” (Запрос вне политики): Список пользователей, кому разрашено размещать запросы вне политики. Запросы вне политики также должны быть подтверждены управляющим;

В контексте ресурсных почтовых ящиков, политики “InPolicy” и “OutOfPolicy” обозначают соответствуют или нет, какие-либо приглашения ограничениями выставленными на таких ящиках. Имеются также политики для назначения разрешений для всех пользователей – “AllBookInPolicy” (Всем резервировать по политике), “AllRequestInPolicy” (Всем запрашивать по политике), “AllRequestOutOfPolicy” (Всем запрашивать вне политики).

Например, параметр “MaximumDurationInMinutes” (Максимальная длительность в минутах) ресурсного ящика имеет значение в 30 минут, – тогда любая Встреча, длительностью более 30 минут, будет считаться “OutOfPolicy“. Используя RequestOutOfPolicy поле, вы можете указать пользователей, которым будет разрешено назначать встречи за рамками ограничений политики.

Основные сценарии для почтовых ящиков комнат

Теперь, имея более четкие представления о создании почтовых ящиков для комнат, мы можем рассмотреть основные сценарии управления такими почтовыми ящиками:

  • Комнаты с автоматическим резервированием;
  • Комнаты с запросом встречи управляющему;
  • Комнаты, требующие регистрации управляющего, для управления запросами вручную.

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

Пример 4: Включение автоматического резервирования в ресурсном ящике
Set-MailboxCalendarSettings -Identity "Conference Room" -AutomateProcessing AutoAccept

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

Включение политики: Установить AutomateProcessing на AutoAccept;
Все входящие запросы резервирования должны подтверждаться управляющим: Установить AllRequestInPolicy на True, и AllBookInPolicy на False;
Определить управляющего в ResourceDelegates параметре. Управляющий получит следующие разрешения:

  • Редактировать в Календаре ресурсного почтового ящика;
  • Редактировать в системной папке “FreeBusy Data” ресурсного ящика;
  • Право “Send on behalf” (Отправлять от имени) ресурсного почтового ящика.

Пример 5: Назначение пересылки управляющему
Set-MailboxCalendarSettings -Identity "Training Room" -AutomateProcessing AutoAccept -ResourceDelegates "Isabelle Dupont" -AllBookInPolicy:$false -AllRequestInPolicy:$true

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

Он также получает доступ к календарю почтового ящика комнаты, через функцию Outlook “Open other user’s folder” (Открыть папку другого пользователя). Нужно отметить, что в таком случае отвечать организатору встречи будет управляющий от имени почтового ящика переговорной.

Примечание: Когда коммандлет Set-MailboxCalendarSettings запускается повторно, для конфигурации любых настроек – оригинальные разрешения владельцев затираются. И хотя управляющий все еще отображается, когда вы запускаете Get-MailboxCalendarSettings, если посмотреть на разрешения на ресурсный ящик – его разрешения удалены. Чтобы повторно назначить разрешения на календарь ресурса, нужно запустить команду “Set-MailboxCalendarSettings alias_ресурса -ResourceDelegates:$null“. После чего, можно повторно назначать разрешения целевому пользователю. Это явление планируется изменить в будущем, а пока рекомендуется использовать эту команду перед внесением любых изменений для управляющих ресурсами.

Комнаты, требующие регистрации управляющего, для управления запросами вручную
Это значение по умолчанию, для вновь созданных комнат, со значением AutoUpdate в AutomateProcessing.

Помощник по календарям будет обрабатывать запросы на резервирование, располагающиеся в календаре в “режиме ожидания” утверждения управляющим. Управляющему понадобятся следующие разрешения для подключения к ресурсному ящику и управления запросами резерваций: “Full Mailbox Access” для доступа к ресурсному почтовому ящику, и к примеру “Send-As” для ответов на такие запросы в прозрачном для организатора режиме.

Пример 6: Делегирование управления запросами к ресурсному ящику
Set-MailboxCalendarSettings -Identity "Conference Room" -AutomateProcessing AutoUpdate

Add-MailboxPermission -AccessRights FullAccess -Identity "Conference Room" -User "Isabelle Dupont"

Add-ADPermission -Identity "Conference Room" -User "Isabelle Dupont" -ExtendedRights Send-As

Примечание: “Send As” (Отправить как) и “Send on Behalf” (Отправить от имени):

  • Разрешение “Send As” позволяет пользователю имитировать другого отправителя.
  • Разрешение “Send on Behalf” позволяет отправлять сообщения одному пользователю “от имени” другого, При этом получатели это явно видят.

Итог

Основываясь на детально рассмотренных сценариях выше, должны быть выставлены следующие параметры:

Настройки календаря ресурса
Set-MailboxCalendarSettings
Automate Processing AllBookIn
Policy
AllRequestIn
Policy
Управляющий
Автоматическое резервирование AutoAccept $True
(default)
$False
(default)
отсутствует (default)
Подтверждение вручную
Запрос управляющему
AutoAccept $False $True список пользователей
Подтверждение вручную
Управляющий подтверждает из ресурного почтового ящика
AutoUpdate
(default)
$True
(default)
$False
(default)
отсутствует (default)

Независимо от сценариев, управляющий может изменять параметры резервирования ресурсов (кроме значений управляющего) обратившись к ресурсному почтовому ящику например через Outlook Web Access (httрs://mail.contonso.com/room@contoso.com). Для этого, ему понадобятся разрешения “Full Mailbox Access” на почтовый ящик ресурса.

MaximumExchange.ru Создание и управление room mailbox в Exchange 2007
Настройки ресурсного почтового ящика из Outlook Web Access.

Дополнительные материалы:
О получателях Exchange MaximumExchange.ru
Управление ресурсными почтовыми ящиками MaximumExchange.ru
Установка политик управления ресурсами MaximumExchange.ru
Set-MailboxCalendarSettings MaximumExchange.ru
Резервирование ресурсов в Exchange Server 2007 MaximumExchange.ru
Французский перевод статьи (для эстетов) MaximumExchange.ru

11 thoughts on “Создание и управление room mailbox в Exchange 2007”

  1. По-моему самая большая “гадость” с этими ящиками – это проблема с double booking.

    1. Это когда безмозглые пользователи ставят комнату в “участники” вместо “ресурсов”-то?
      Ну чтож поделать. Остается только вдалбливать правила в головы, рисовать инструкии со скриншотами, итд..

  2. Несколько “неидеальных” вопросов по поводу “идеальной” комнаты 🙂
    1. Каким образом добиться того, что пока делегат не одобрит встречу, событие не появляется в календаре комнаты со статусом “Под вопросом”?
    2. От чего зависит скорость обновления статуса встречи в календаре ресурса? От скорости работы SA или от прав делегата на ящик? 😉
    3. Куда пропала кнопка входа в блог, и какого собственно он вообще не пускает? 🙂

    1. Привет Олег, Рад тебя видеть!
      1. Никаким. Ты как-то неправильно спрашиваешь. А как еще делегат одобрит встречу, если в календаре комнаты не будет этого митинга? Нельзя же ему, выбрав комнату, в обход нее направить встречу. Если только делать митинг, и не указывать комнату, а в приглашенных указывать менеджера, распределяющего комнаты, но тогда это совок какой-то получается. Ты скажи что ты хочешь сделать?
      2. Скорость обновления статуса встречи в календаре зависит от Загруженности процессора и памяти на MB и CA серверах, загруженности каналов связи между серверами, и клиент-сервер, ну и в последнюю очередь от производительности самого клиента. А что, тормозит?
      3. Верну, а у тебя знакомые соображающие в PHP или WP есть?

  3. Найдем. Знакомых.
    1. Вот такие задачи ставят заказчики, я при помощи программеров реализовал это, но в другм контексте. там календарь уходил в SharePoint web-форму, которая отображалась на мониторе висящем у переговорной. Они (программеры) выцепили какой-то флаг, помечающий встречу “под вопросом”, и настроили фильтр, который встречи с этим флагом не отображал. Просто думал, может есть штатный способ…
    2. А у меня проблема была другая. Если делегат имеет права Full Access на ящик комнаты, смена статуса происходит мгновенно. Если стандартные права делегата – по часу не менялся. Вот опять же казус…
    Ну а по поводу PHP и WP пришли описание проблемы в почту, у нас Саша Романов (новоиспеченный MVP SharePoint)многим помогал с настройками блога. В частности решал проблемы с WLW и WP, хостящимися не на wordpress.com…

    1. Нда, с SharePoint’ом и флагами – это хитро. Хорошо 🙂
      Нет, стандартного думаю нет, для таких вещей SDK и делают.
      Я поэксперементирую с разными правами, скажу что к чему… не должно оно так по времени торкать, хм..

  4. offtopic
    Максим, подскажите, по поводу бакапа Exc2007 на Win2008 штатными средствами – я так понимаю что долго обещанный плагин для Экса для WinBackupServices так и не сделали, соотвественно для бакапа есть только DPM и сторонние решения [и грязные хаки]? Просто проблема стоит в полный рост, Экс есть, Сервер 2008 есть, а вот бакапиться нечем.

  5. Спасибо за интересную статью, читаю Вас не первый раз уже 😉

  6. Привет, Максим!
    Подскажи, плиз:
    юзеры назначают встречу в комнате и в календаре в теме отображается Имя Фамилия организатора. Т.е. видим Вася Пупкин, МитингРум, Вася Пупкин, например. Хотелось бы видеть реальную тему встречи, которая не отображается для обычных пользователей. Тема появляется только если дать юзеру полные права и создавать Appointment, а не Meeting.
    Спасибо!

    P.S.: pan_2@LJ: я бэкаплю полностью всю машину с 2008 и эксчем на сетевую шару с помощью windows backup (vss). Тестировал восстановление на “голую” машину – замечательно выходит :). Есть еще скриптец для копирования баз эксча.

  7. Уже разобрался – в свойствах ящика стояло DeleteSubject.

  8. Здравствуйте Максим.
    У меня вопрос как можно перенести митинги из одной Room в другу с автоматическим уведомлением

Leave a Reply

Your email address will not be published.