пятница, 30 мая 2014 г.

Moving Exchange 2003 mailboxes to new forest


Постановка проблемы:

Как известно, Exchange 2003 не поддерживает сосуществование двух организаций и процесс переезда ящиков между организациями Exchange.



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

Немного теории:

Если появляется необходимость слияния двух лесов AD, то для решения можно использовать специальные утилиты миграции содержимого пользовательских ящиков, Как например Exmerge утилиту. Предлагаемые решения при слиянии организаций заключаются в сохранении и переносе учетных записей в новый лес, и разворачивании новой Exchange организации с нуля. Выглядит это так:
  •        Перенос учетных записей пользователей в новый с SID history в новый лес Active Directory
  •        Разворачивании новой Exchange 2003 организации с пустыми ящиками
  •        Экспортом старых ящиков с помощью ExMerge в PST файлы Outlook и перенос фалов в новый лес
  •        Импорт содержимого PST файлов с помощью ExMerge в новые почтовые ящики в новом лесу

Схема является стандартной, если новый лес действительно является новым, и ранее не содержал пользователей. Новые учетные записи образуются путем миграции из старого леса с SID history.

Но рассмотрим ситуацию, что существуют два леса AD в одной организации достаточно долго не связанные доверительными отношениями (они физически изолированы) развивались параллельно и обслуживают в реальности одних и тех же сотрудников.  При этом пользователи данной компании имеют персональные учетные записи в обоих лесах. Получается, что сотрудник Иванов Иван в лесу  Forest1 имеет учетку ivanov@forest1.local и в то же время имеет свою же учетную запись в лесу Forest00-iivanov@forest2.local Данные учетные записи не являются одинаковыми, поскольку атрибуты samscountname и SID будут принципиально разные. Но эти две учетки являются идентификацией одного и тоже человека в реальности.  И в этом следующая проблема. Exmerge в данном случае не сможет сделать автоматический импорт ящиков в новый лес.

В этом случае возникает вопрос об управлении учетными данными (IdM) и синхронизации объектов разных служб каталогов. Но это другие дебри и программные продукты, которые могут обеспечить такую функциональность на этапе слияния двух лесов внутри одной организации. Это Forefront Identity Manager. Вопрос о приобретении FIM для миграции устаревшей версии Exchange 2003, к тому же снятой с поддержки в апреле 2014, звучит как-то необоснованно.  И почему возникает необходимость поддержки Exchange 2003 с истекшим жизненным циклом для заказчика, я предлагаю опустить.

Решение:

Ввиду отсутствия денег на проект миграции решение следует максимально упростить. Метод заключается в переезде файлов почтовой базы Exchange 2003 в новую организацию Exchange. И далее монтирование этой базы на новом Exchange сервере в новом лесу.

Проверяем функциональность Exchange 2003 в исходном лесу. База содержит ящики и письма пользователей.



Размонтируем базу во время окна обслуживания сервера.


Проверяем целостность базы утилитой eseutil /mh. Проверяем состояние - Clean Shutdown



Копируем файлы базы STM и EBD на новый сервер EX03 в новом лесу. Продолжительность операции зависит от объема передаваемых данных скорости сетевых подключений и  других факторов.


В исходном лесу все работы завершены. 

В новом лесу, подключаем только что перенесенную  базу. Я использовал старые пути и буквы дисков. Получаем сообщение при попытке ее смонтировать:


В свойствах базы отмечаем галку, что бака восстановлена из бекапа. Так как в AD информация о базе отсутствует или устаревшая. 


После этого база успешно монтируется.



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


Для обновления информации из AD запустим Mailbox Cleanup Agent. Агент обновляет информацию об отключенных ящиках. Входит в задачи обслуживания почтового сервера. Подробности можно узнать тут http://support.microsoft.com/kb/324358
Мы же в данном случае запустим его принудительно. 
Exchange System Manager - Servers - First Storage Group - Mailbox Store - Maiboxes - ПКМ - Reconnect


После указанной процедуры все перенесенные ящики окажутся отключенными. Дело в том, что в лесу forest2.local у пользователей Active Directory еще нет Exchange атрибутов, таких как msExchMailboxGuid. Так вот картина будет следующая, все перенесенные  почтовые ящики станут отключенными. 


Теперь нам надо просто подключить старый ящик к новому идентичному пользователю.
Тем самым сделать новые Exchange атрибуты на новый пользователей в AD. ПКМ по ящику - reconnect mailbox


Из AD выбираются идентичные пользователи. Но это не значит что нельзя подключить ящик совсем другому сотруднику. Просто наша цель подключить ящик идентифицированный с конкретным человеком исходя из его ФИО и атрибутов AD Displayname в новом леcу forest2.local. Ищем в AD соответствующего сотрудника:


Ящик подключен к новому пользователю AD. А в реальности - к прежнему сотруднику. Осталась маленькая деталь. Восстановить значение атрибута mail. Без него невозможно залогиниться на OWA.


Итак теперь нам предстоит проверить доступ к этому ящику через OWA. В лесу forest2.local обращаемся к Outlook Web Access через браузер по пути:

http://EX03.forest2.local/Exchange  где EX03 - имя нового сервера Exchange 2003



Как видим ящик успешно подключен.

Выводы:

В статье  рассмотрен недокументированный способ переезда ящиков разработанный лично мной. Осуществлен переезд постовой базы в новую Exchange организацию. Ящик подключен новому пользователю ручным способом. 

Утилиты ADMT и Exmerge в данном случае использовать было нельзя, так как ADMT не копирует Exchange атрибуты, а Exmerge необходимо сохранение SID history ADMT. К тому же миграции лесов AD не происходило и не планировалось. 

Остается открытым вопрос автоматизации с помощью Powershell подключения сразу множества ящиков к новым пользователям в новом лесу. Исследования показали, что для успешного подключения ящиков необходимо восстановить атрибуты пользователя в AD, конкретно:
  • DispayName
  • msExchMailboxGuid
  • mail
Экспортировать эти данные из старого леса не составит проблем с помощью PowerShell. Далее подкорректировав название почтового домена эти атрибуты добавить идентичным по Displayname пользователям нового домена с помощью скрипта.

Об автоматизированном переподключении ящиков - в следующей части статьи.





Комментариев нет:

Отправить комментарий