Фото пользователей в GAL Exchange 2010 и Outlook 2010
Долгое время всех интересовала и многократно обсуждалась в Exchange-сообществах возможность наладить фотографии пользователей в адресной книге GAL. Вобщем-то, в больших организациях, а тем более географически распределенных — было бы замечательно повесить картинку пользователя, которого вы никогда до этого не видели, или не часто встречаете. Сотрудники компаний весьма часто фотографируются на пропуски/бэйджики, и не редко эти фотографии публикуются на внутренних сайтах компаний. Но это все в отрыве от почты.
Было множество пересудов по поводу сторонних плагинов для Outlook, и вы даже можете взглянуть на пример кода для этого в MSDN. Несколько лет назад IT спецы написали ASP код для отображения фотографий сотрудников компании на внутреннем веб сайте, основываясь на аттрибуте идентификационного номера сотрудника (Employee ID) в Active Directory. Но это было больше для потехи самолюбия программеров, нежели корпоративное решение.
Больше так изголяться не придется, теперь в Exchange 2010 и Outlook 2010 это можно сделать легко и просто с помощью AD. В Active Directory существует аттрибут Picture (по классификации ldapDisplayName: thumbnailPhoto) для размещения фотографий, и вы можете легко вставить туда фото (не увлекайтесь, хайрез с ваших 20-мегапиксельных камер ни к чему
), но небольшую, до 10 KB — вполне, с помощью командлета Import-RecipientDataProperty Exchange 2010.
Держу пари — первым же вопросом у вас, при прочтении этого будет — «Насколько растолстеет база данных AD от импорта таких фотографий?» и «Как это скажется на трафике репликаций AD?». — Спокойно! Аттрибут ограничивает объемы контента до 10 KB, а командлет не позволит вам отправить файл больше этого размера. Вот, в примере ниже использовалась картинка в 9 KB, а ее еще можно ужать до 2KB-2,5KB, без особой потери качества, в таких-то масштабах картинок. К примеру, прикрепленный к учетке пользователя сертификат PKI занимает в базе примерно столько же места. Таким образом, хранение фотографий для 10,000 пользователей суммарно будет занимать около 100 Mb, а такие объемы — погоды не делают.
Примечание: * Рекомендуемый размер фотографий — 96×96 px.
А теперь со всем этим давайте попытаемся взлететь.
Некоторые изменения в Схему
Пункт первый: Схема AD. Требуется небольшое редактирование схемы — щелчок аттрибуту thumbnailPhoto, для его репликации в Global Catalog.
- Если вы еще не регистрировали оснастку MMC «AD Schema» — самое время:
Regsvr32 schmmgmt.dll - Открывайте оснастку «AD Schema»
- Разверните раздел «Attributes» и найдите thumbnailPhoto. (В оснастке AD Schema аттрибуты сортируются по ldapDisplayName).
- На странице свойств аттрибута выберите «Replicate this attribute to the Global Catalog» , и OK.

Редактирование аттрибута thumbnailPhoto для репликации в Global Catalog
Загрузка фотографий в Active Directory
Теперь можно приступать к загрузке фотографий с помощью командлета Import-RecipientDataProperty, как показано ниже:
Import-RecipientDataProperty -Identity "Vasya Pupkin" -Picture -FileData ([Byte[]]$(Get-Content -Path "C:\pictures\VasyaPupkin.jpg" -Encoding Byte -ReadCount 0))
Можно задействовать поточную операцию, применяя Get-Mailbox с фильтрами (или Get-DistributionGroupMember если вам нужны члены групп), а результаты потом отправить в цикл foreach. Имена пользователей и пути до изображений можно брать из CSV/TXT списка.
Фотографии в Outlook 2010
Теперь давайте займемся Outlook 2010 и посмотрим как там дела.
В свойствах Address Book/GAL для получателя:

Фото в свойствах пользователя из GAL
Теперь, когда вы получаете сообщения от пользователя, чье фото есть в базе — оно будет показано в предварительном просмотре письма:

При написании письма фотография также будет появляться, если навести курсор на имя получателя.

Фото получателя отображается при наведении курсора на адрес
Есть и другие места, где отображаются фото пользователей, наприер в секции Account Settings в виде Backstage Help.
Примечания от команды разработчиков Outlook
Команда разработчиков Outlook также обращает внимание на новый Outlook Social Connector, который отображает фотографии из GAL, а также из папки «Contacts» и социальных сетей, как показано на снимке:

Фото в панели «People» коннектора Outlook Social Connector
Есть еще видео о Коннекторе Соц-сетей для Outlook в блоге команды Outlook.
Фото в GAL и автономных адресных книгах (OAB)
Ну и после загрузки фотографий в Active Directory остается обновить автономную адресную книгу (OAB, Offline Address Book) для кеширующих клиентов Outlook. Делается это как всегда просто:
Update-OfflineAddressBook "Default Offline Address Book"
Аттрибуты OAB в Exchange 2010 могут настраиваться. Это можно сделать в свойствах ConfiguredAttributes объекта OAB (см.: Set-OfflineAddressBook cmdlet). Изначально ConfiguredAttributes распространяется с дефалтовым набором аттрибутов, и вы можете свободно редактировать набор, удаляя или добавляя нужные аттрибуты.
По умолчанию, thumbnailPhoto включается в OAB в качестве аттрибута Indicator. Это означает, что значение аттрибута не копируется в OAB, вместо этого он показывает, что клиет должен загрузить значение из AD. Если клиент Outlook (включая Outlook Anywhere по HTTPS) может обратиться в AD — фото будет загружено и показано. В отключенном режиме — ничего не грузится. Еще один пример подобного Индикатора — UmSpokenName аттрибут.
Все аттрибуты, включенные по умолчанию в OAB можно вывести командой:
(Get-OfflineAddressBook "Default Offline Address Book").ConfiguredAttributes
Для получения искомого результата и в автономном режиме, нужно изменить thumbnailPhoto на вид аттрибута «Value» в ConfiguredAttributes OAB. После того как вы сделаете это, и обновите OAB, фото будут добавляться в автономную адресную книгу (да-да, все 20,000 загруженных файлов
).
Опять же, в зависимости от количества пользователей и размеров фото — ожидайте прироста нагрузки на OAB, как минимум для всех пользователей по первому скачиванию, дальше проще, я проверял. Так что тестируйте весь механизм предварительно «на кошках», в тестовой среде, может вам и не захочется загонять фото в автономную адресную книгу OAB.
Чтобы Outlook в кеширующем режиме не отображали фотографии (помните: фото не в OAB, там только указатель на AD), можно просто удалить аттрибут thumbnailPhoto из свойств ConfiguredAttributes в OAB, следующей командой:
$attributes = (Get-OfflineAddressBook "Default Offline Address Book").ConfiguredAttributes
$attributes.Remove("thumbnailphoto,Indicator")
Set-OfflineAddressBook "Default Offline Address Book" -ConfiguredAttributes $attributes
Такие дела.
А на карибах сейчас +27 и периодически бывают дождики, но все равно клёво!
Что скажете?
Свежие комментарии