Очень часто многие организации исторически имеют филиалы развитие IT инфрастуктуры в которых происходило совершенно не зависимо от центра. Как правило, IT Инфрастуктура филиала управляется командой местных специалистов. Но наступает момент, когда бизнесу для реализации задач требуется инструмент, который позволит более оперативно решать возникающие задачи.
Я думаю не секрет что, чем больше мы имеем Exchange организаций находящихся в разных лесах, тем больше возникает проблем при обмене контактных данных получателей. Обычно обмен происходит не регулярно и ни как не застраховывает от ошибок в контактных данных или не правильном заполнении информации о получателе. Как правило, обнаруживать подобные ошибки очень трудоёмко при большом количестве пользователей, и локальный IT отдел узнает о ней когда пользователю в ответ на его письмо, посланное в другой филиал возвращается NDR J
Обычно используется несколько методов для обмена данными для синхронизации списков GAL:
1. Использование различных скриптов для выгрузки существующих пользователей через LDAP и автоматического создания контактов в организации получателя. Язык скриптов может быть различен. Есть примеры на VB и PowerShell
2. Использование рекомендуемого средства по синхронизации GAL, Forefront Identity Manager 2010
Примеров первого метода достаточно много в интернете и при внимательном поиске не составит труда обнаружить примеры.
Я бы хотел рассказать о использовании второго метода.
Мы имеем три различные Exchange организации использующие различные версии Exchange Server расположенные каждый в своем лесу и имеющие различные наименования доменов.
Домен 1 – Exchange2003
Имя домена – Filial.Company.com
Контроллер домена – DC2003
Exchange Server – Exch2003
Forefront Identity Server -FIM 2010
Домен 2 – Exchange 2007
Имя домена – old.name.Company.ru
Контроллер домена – MSK-DC
Exchange Server – MSK-E2007
Домен 3 – Exchange 2010
Имя домена – trader.company.local
Контроллер домена – DC01
Exchange Server – Trader-E2010
Структурная схема организаций представлена ниже.
Схема
(http://itband.ru/wp-content/uploads/2010/08/clip_image002_thumb.png)
1. Между всеми организациями необходимо настроить разрешение имен DNS. Данная процедура хорошо описана во многих источниках по этому не будем останавливаться на ней. Для ознакомления с материалом можно ознакомиться с данной статьей http://technet.microsoft.com/en-us/library/cc754941.aspx
2. Для успешной синхронизации между Exchange Server и FIM 2010 должны быть открыты следующие порты
Service Protocol Port
LDAP TCP/UDP 389
Kerberos TCP/UDP 88
DNS TCP/UDP 53
3. Для синхронизации Exchange 2003, Данная организация должна иметь на сервере Exchange Server с SP2. Так же данная организация должна быть переведена в режим Native Mode. Учетной записи FIM 2010 должны быть предоставлены права Exchange Administrator.
3.2 Для синхронизации Exchange 2007 на сервер должен быть установлен Exchange 2007 SP2. Учетной записи FIM 2010 должны быть предоставлены права Recipient Administrator.
3.3 Для синхронизации Exchange 2010 учетной записи FIM 2010 должны быть предоставлены права Recipient Management.
Для начала необходимо создать в каждой организации учетную запись для коннекта Management Agent FIM 2010 делегировать ей необходимые права .
1. Создаем в каждом домене учетную запись вида FIM_Filial_Name, после создания отмечаем Password Newer Expires
(http://itband.ru/wp-content/uploads/2010/08/clip_image003_thumb.png)
После этого в Active Directory каждого филиала необходимо создать структуру OU для синхронизации контактов. Рекомендовано создавать структуру следующего вида
(http://itband.ru/wp-content/uploads/2010/08/clip_image005_thumb.jpg)
OU Contacts – Содержит контакты пользователей Exchange Server из других организаций
OU Groups – Содержит группы Exchange Server
OU Users – Содержит учетные записи пользователей
Подобную структуру необходимо создать во всех организациях. К примеру для домена old.name.company.ru
(http://itband.ru/wp-content/uploads/2010/08/clip_image007_thumb.jpg)
После создания структуры OU во всех организациях необходимо приступить к назначению необходимых прав для созданной ранее учетной записи FIM_Filial_Name. Перед этим на всех DC с OC Windows 2003 необходимо установить Support Tools нам потребуется компонент ADSI Edit.
Предоставление прав Replicate Directory Changes permissions
1. Открываем Active Directory Users and Computers
2. В закладке View, нажимаем Advanced Features.
3. Нажимаем на доменный объект, Filial.Company.com, и нажимаем Properties.
4. Выбираем закладку Security далее Advanced
5. Добавляем ранее созданный аккаунт FIM_Filial_Name через кнопку Add.
6. Нажимаем OK появляется окно назначения прав.
8. Прокручиваем окно в низ и ставим галку на против Replicate Directory Changes.
9. Затем нажимаем Apply, и OK.
Далее выполняем предоставление прав Write proxyAddresses
1. Открываем adsiedit.msc
2. В поле Domain раскрываем структуру до объекта GalSynchronization
3. Нажимаем на доменный объект, Filial.Company.com, и нажимаем Properties.
4. Выбираем закладку Security далее Advanced
5. Добавляем ранее созданный аккаунт FIM_Filial_Name через кнопку Add.
6. Нажимаем OK появляется окно назначения прав.
8. Переключаемся с поля Objects на поле Properties .
9. В разделе apply onto: Выбираем Child objects only
10. Прокручиваем список Permissions в низ, ищем Write proxyAddresses
11. Отмечаем чекбокс на против Allow
12. Нажимаем OK
Далее выполняем предоставление прав Full Control permissions для всех объектов в TEMP_OU
1. Открываем Active Directory Users and Computers
2. В закладке View, нажимаем Advanced Features.
3. Нажимаем на доменный объект, TEMP_OU, и нажимаем Properties.
4. Выбираем закладку Security далее Advanced
5. Добавляем ранее созданный аккаунт FIM_Filial_Name через кнопку Add.
6. Нажимаем OK появляется окно назначения прав.
8. В разделе apply onto: Выбираем Child objects only
9. Выставляем Full Control
10. Нажимам OK
Далее создаем аналогичную структуру OU в каждой организации и повторяем вышеперечисленные действия для каждой организации.
После этого необходимо добавить учетную запись FIM_Filial_Name в группу Exchange Recipient Administrators при использовании Exchange 2007.
(http://itband.ru/wp-content/uploads/2010/08/clip_image009_thumb.jpg)
В Exchange 2003 делегируем права Exchange Administrator
(http://itband.ru/wp-content/uploads/2010/08/clip_image011_thumb.jpg)
В Exchange 2010 добавляем пользователя FIM_Filial_Name в группу Recipient Management
(http://itband.ru/wp-content/uploads/2010/08/clip_image013_thumb.jpg)
Подготовительные работы окончены. Теперь приступаем к настройке Forefront Identity Manager 2010:
Для этого мы в домене с Exchange 2003 выделили сервер с OC Windows 2008 R2 Enterprise Editions, Установили SQL Server 2008 Standart Edition SP1 и установили компонент Synchronization Services из списка компонентов Forefront Identity Manager 2010. После установки необходимо установить SP1 на компонент Synchronization Services. Как его скачать более подробно описано тут http://social.technet.microsoft.com/Forums/en-US/ilm2/thread/b21e08a5-d2be-4bf1-a53f-248b5a9cc6e3
После установки Forefront Identity Manager 2010 необходимо установить Management Tools for Exchange 2007. Так же на данный сервер должны быть установлены следующие компоненты:
1. Exchange 2007 Sp2 – Данный компонент необходимо устанавливать после инсталляции Management Tools for Exchange 2007
2. PowerShell 2.0 – Данный компонент необходим для взаимодействия с Exchange 2010
Приступаем к созданию Management Agents. Открываем Synchronization Service, переходим в Management Agents, в правом углу нажимаем Create. После этого в поле Management agent for: выбираем Active Directory global address list (GAL)
(http://itband.ru/wp-content/uploads/2010/08/clip_image015_thumb.jpg)
В поле Name вводим имя домена, в нашем случае Filial.Company.com нажимаем Next
Заполняем все указанные ниже поля
(http://itband.ru/wp-content/uploads/2010/08/clip_image017_thumb.jpg)
Отмечаем чекбокс в поле Select Directory Partition
(http://itband.ru/wp-content/uploads/2010/08/clip_image019_thumb.jpg)
Далее нажимаем чекбокс Containers. В нем отмечаем только OU GalSynchronization и его содержимое
(http://itband.ru/wp-content/uploads/2010/08/clip_image021_thumb.jpg)
Нажимаем OK
(http://itband.ru/wp-content/uploads/2010/08/clip_image023_thumb.jpg)
Выбираем контейнер Target отмечаем TEMP_OU
(http://itband.ru/wp-content/uploads/2010/08/clip_image024_thumb.png)
Далее в чекбоксе Source выбираем
(http://itband.ru/wp-content/uploads/2010/08/clip_image025_thumb.png)
В поле Exchange Configuration нажимаем Edit и добавляем E-Mail Suffix вида @ Filial.Company.com
Далее нажимаем OK и Next
(http://itband.ru/wp-content/uploads/2010/08/clip_image027_thumb.jpg)
Нажимаем Next
(http://itband.ru/wp-content/uploads/2010/08/clip_image029_thumb.jpg)
Нажимаем Next
(http://itband.ru/wp-content/uploads/2010/08/clip_image031_thumb.jpg)
Нажимаем Next
(http://itband.ru/wp-content/uploads/2010/08/clip_image033_thumb.jpg)
В поле user выбираем Rules extension и нажимаем Next
(http://itband.ru/wp-content/uploads/2010/08/clip_image035_thumb.jpg)
Нажимаем Next
(http://itband.ru/wp-content/uploads/2010/08/clip_image037_thumb.jpg)
Нажимаем Next
(http://itband.ru/wp-content/uploads/2010/08/clip_image039_thumb.jpg)
Проверяем что стоит Determine with a rules extension и нажимаем Next
(http://itband.ru/wp-content/uploads/2010/08/clip_image041_thumb.jpg)
Проверяем что стоит Provision for: No provisioning. Нажимаем Finish
Management Agent для Exchange 2003 создан.
Затем в меню Forefront Identity Manger переходим в меню Tools далее Options. Отмечаем Enable Provisioning Rules Extension
(http://itband.ru/wp-content/uploads/2010/08/clip_image042_thumb.png)
По изложенному примеру создаем Management Agent для Exchange 2007. В конце создания Management Agent в поле Provision for: выбираем Exchange 2007
(http://itband.ru/wp-content/uploads/2010/08/clip_image044_thumb.jpg)
Для Exchange 2010 перед созданием Management Agent
Необходимо проверить работу Remote PowerShell
Запускаем Windows PowerShell Modules
Используя команду
$rs = new-pssession -conf microsoft.exchange -conn http://CAS_SERVER_NAME/powershell -auth kerberos -cred (get-credential)
Соединяемся с CAS Server на Exchange 2010 вводим учетную запись Management Agent
После этого проверяем результат командой
Invoke- Command $rs {get- recipient — ResultSize 1}
Если тест прошел без ошибок создаем Management Agent для Exchange 2010, в конце указываем URL к нашему CAS
(http://itband.ru/wp-content/uploads/2010/08/clip_image046_thumb.jpg)
После создания Management Agent на каждом агенте последовательно через Run запускаем Full Import (Stage Only) G
(http://itband.ru/wp-content/uploads/2010/08/clip_image048_thumb.jpg)
После выполнении команды последовательно запускаем Full Synchronization
(http://itband.ru/wp-content/uploads/2010/08/clip_image050_thumb.jpg)
Далее на каждом Management Pack запускаем Export
(http://itband.ru/wp-content/uploads/2010/08/clip_image052_thumb.jpg)
После чего дожидаемся результатов экспорта. При корректной настройке в EMC Exchange Server в разделе Recipient Configuration – Contacts мы увидим контакты из других Exchange организаций.
После каждого выполнения команды Export желательно заглядывать в Event Log-Application, так мы можем отследить возникающие ошибки.
Материалы использованные при подготовке:
http://technet.microsoft.com/en-us/magazine/ff472471.aspx
http://technet.microsoft.com/en-us/magazine/ff472471.aspx
http://social.technet.microsoft.com/wiki/contents/articles/current-forefront-identity-manager-resources.aspx
-------------------
Автор - Sergey Kalinin
Источник - http://itband.ru/