Очень часто многие организации исторически имеют филиалы развитие 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
Структурная схема организаций представлена ниже.
Схема1. Между всеми организациями необходимо настроить разрешение имен DNS. Данная процедура хорошо описана во многих источниках по этому не будем останавливаться на ней. Для ознакомления с материалом можно ознакомиться с данной статьей
http://technet.microsoft.com/en-us/library/cc754941.aspx2. Для успешной синхронизации между Exchange Server и FIM 2010 должны быть открыты следующие порты
Service Protocol PortLDAP 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После этого в Active Directory каждого филиала необходимо создать структуру OU для синхронизации контактов. Рекомендовано создавать структуру следующего вида
OU Contacts – Содержит контакты пользователей Exchange Server из других организаций
OU Groups – Содержит группы Exchange Server
OU Users – Содержит учетные записи пользователей
Подобную структуру необходимо создать во всех организациях. К примеру для домена old.name.company.ru
После создания структуры 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_OU1. Открываем 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.
В Exchange 2003 делегируем права Exchange Administrator
В Exchange 2010 добавляем пользователя FIM_Filial_Name в группу
Recipient ManagementПодготовительные работы окончены. Теперь приступаем к настройке 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)В поле Name вводим имя домена, в нашем случае
Filial.Company.com нажимаем Next
Заполняем все указанные ниже поля
Отмечаем чекбокс в поле Select Directory Partition
Далее нажимаем чекбокс Containers. В нем отмечаем только OU GalSynchronization и его содержимое
Нажимаем OK
Выбираем контейнер
Target отмечаем TEMP_OU
Далее в чекбоксе Source выбираем
В поле Exchange Configuration нажимаем Edit и добавляем E-Mail Suffix вида @
Filial.Company.comДалее нажимаем OK и Next
Нажимаем Next
Нажимаем Next
Нажимаем Next
В поле
user выбираем
Rules extension и нажимаем Next
Нажимаем Next
Нажимаем Next
Проверяем что стоит
Determine with a rules extension и нажимаем Next
Проверяем что стоит
Provision for: No provisioning. Нажимаем Finish
Management Agent для Exchange 2003 создан.Затем в меню
Forefront Identity Manger переходим в меню
Tools далее
Options. Отмечаем
Enable Provisioning Rules Extension
По изложенному примеру создаем Management Agent для Exchange 2007. В конце создания Management Agent в поле Provision for: выбираем Exchange 2007
Для 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
После создания Management Agent на каждом агенте последовательно через Run запускаем Full Import (Stage Only) G
После выполнении команды последовательно запускаем Full Synchronization
Далее на каждом Management Pack запускаем Export
После чего дожидаемся результатов экспорта. При корректной настройке в EMC Exchange Server в разделе Recipient Configuration – Contacts мы увидим контакты из других Exchange организаций.
После каждого выполнения команды Export желательно заглядывать в Event Log-Application, так мы можем отследить возникающие ошибки.
Материалы использованные при подготовке:
http://technet.microsoft.com/en-us/magazine/ff472471.aspxhttp://technet.microsoft.com/en-us/magazine/ff472471.aspxhttp://social.technet.microsoft.com/wiki/contents/articles/current-forefront-identity-manager-resources.aspx-------------------
Автор -
Sergey Kalinin Источник -
http://itband.ru/