четверг, 15 июля 2010 г.

Удаление группы First Storage Group от Exchange 2003 в организации Exchange через ADSIEdit

Удаление группы First Storage Group от Exchange 2003 в организации Exchange 2007.

Этот последний этап возникает, когда корректно не удаляется Exchange 2003 Server с сервера, на котором он был установлен. У нас возник как раз такой случай, мы долго думали - около 2х лет, делать это или нет и вот решились. Благо накануне повысил уровни домена и леса Active Directory c Windows 2008 до Windows 2008 R2. и за день освоил механизм снапшотов Active Directory, благодаря нескольким статьям:
на русском
http://itew.ru/2009/06/22/518
http://itew.ru/2009/06/23/531
http://itew.ru/2009/06/26/567
http://itew.ru/2009/07/11/653
http://itew.ru/2009/06/27/585
на Engish.
http://www.petri.co.il/recovering-deleted-items-active-directory.htm
http://www.petri.co.il/working-active-directory-snapshots-windows-server-2008.htm
http://www.petri.co.il/exporting-active-directory-snapshots-windows-server-2008.htm
и использовал программу DSCT:
http://www.petri.co.il/directory-service-comparison-tool.htm
http://lindstrom.nullsession.com/?page_id=11
или
http://lindstrom.nullsession.com/?cat=3
юзал DSCT 2.0 Beta 3

Надо сказать что Microsoft таки не сделал конфетку своими снапшотами. Механизм восстановления объектов остается очень не удобным, по крайней мере, при использовании средства DSCT, а оно не является разработкой MS, на сколько я понял, объект остается всё-равно isDeleted, пока при помощи LDP.exe не переименуешь его и не удалишь параметр isDeleted, но через неё удобнее восстанавливать различные значения параметров и сравнивать между собой снимок и текущие значения параметров для объектов в Active Directory после изменения.

Так вот, возвращаясь к Exchange, перед началом действий в ADSIEdit в:

CN=Administrative Groups,CN=Kaustik,CN=Microsoft,Exchange,CN=Services, CN=Configuration,DC=corp,DC=ru
отображались две административные группы:
CN=Exchange Administrative Group (FYDIBOHF23SPDLT)
и
CN=First Administrative Group

и, собственно, 2-я была лишняя - это наследие Exchange 2003.Долго думая удали её...

Благо был конец рабочего дня и пользователи не успели выпить озверину....
Вообще минут через 10 у пользователей на Microsoft Outlook -ах 2003 при запуске оного стало возникать сообщение:

(Используемая вами версия Outlook заблокирована администратором сервера Microsoft Exchange Server. Обратитесь к администратору. )

Причем, поголовно у всех пользователей Microsoft Outlook 2003, после чего, нажав на Ok он не подключался к Exchange.

Проконсультировавшись с мега-специалистом, пришел к выводу, что удалил некий дочерний объект внутри контейнера CN=First Administrative Group c именем CN=Folder Hierarchies, который был нужен для работы хранилищ общих папок (Public Folders) на сервере Exchange 2007. После удаления на сервере Exchange 2007 стала появляться ошибка хранилища общих папок:

--------------------------------------------------------
Microsoft Exchange Warning
--------------------------------------------------------
The following warning(s) were reported while loading topology information:

get-PublicFolderDatabase
Completed

Warning:
Object MailCluster-01\Ex2k7_01stSG_Public_Folders\Ex2k7_01stSG_Public_Folders_Database has been corrupted and it is in an inconsistent state. The following validation errors have occurred:

Warning:
PublicFolderHierarchy is mandatory.

Warning:
PublicFolderHierarchy is mandatory.
--------------------------------------------------------
OK
--------------------------------------------------------


Собственно MS Outlook 2003 не может работать без хранилищ общих папок. В этом вся причина неурядиц, в то время как пользователи MS Outlook 2007 преспокойно продолжали работать ничего не замечая.

Я начал танцевать от восстановления объекта CN=Folder Hierarchies, сразу скажу это не верный путь в данном случае (IMHO). Потратив пару часов(помогла статья - делал в первый раз), но восстановив объект CN=Folder Hierarchies и его дочерний объект Public Folder я так и не получил работающих клиентов MS Outlook 2003, думаю просто надо было перезагрузить сервер(а) MS Exchangek 2007 (на самом деле у нас их 3штуки: на 2х развернут CCR кластер на 3-м все остальные роли HUB+CAS...), но даже если бы и заработало мы не получаем требуемого результата в ADSIEdit.msc всё-равно остается мусор от MS Exchange 2003. Я отказался от этого пути

Попробовал пойти от ошибки описанной выше, и сразу же натолкнулся на решение:

http://social.technet.microsoft.com/Forums/en-US/exchangesvravailabilityandisasterrecovery/thread/35769dc6-1b32-4409-a2c2-38d1de37db01

опишу что делал:
1.открываем на контроллере домена adsiedit.msc
2.выбираем:
Configuration->Configuration->Services->Microsoft Exchange-> Organization_Exchange_Name->Administrative Groups->Exchange Administrative Group(in my case CN=Exchange Administrative Group (FYDIBOHF23SPDLT))
3.правой кнопкой на нашей административной группе, в моем случае это была "CN=Exchange Administrative Group (FYDIBOHF23SPDLT)"
4.Выбрать создание нового объекта
5.Выбрать класс создаваемого объекта msExchPublicFolderTreeContainer и нажать Next
6.Ввести значение в поле value: "Folder Hierarchies" и нажать Next
7.Нажать Finish

теперь создаем объект Public Folder как дочерний

1.Правой кнопкой на CN=Folder Hierarchies -> создать новый объект.
2.Класс объекта должен быть msExchPFTree
3.Ввести значение в поле value: "Public Folders" и нажать Next
4.Нажать на кнопку "More Attrobutes", выбрать параметр msExchPFTreeType и задать ему значение = 1, это означает, что это будет MAPI Tree
5.Нажать Finish

теперь необходимо во всех базах хранилищ общих папок выставить свойство.
0.Заходим в свойство вновь созданного объекта "Public Folders" через ADSIEdit.msc и копируем значение параметра distinguishedname, далее нажимаем Cancel.
1.заходим в административную группу CN=Exchange Administrative Group (FYDIBOHF23SPDLT)
2.Далее переходим на CN=Servers
3.Выбираем поочередно каждый сервер на котором есть хранилище общих папок, и заходим в CN=InformationStore
4.Далее выбираем хранилище общих папок, а в нем в правом окне заходим в свойства дочернего объекта - базы данных хранилища общих папок.
5.Находим свойство msExchOwningPFTree и вставляем сюда скопированное и нажимаем Ok.
6.Перезапускаем все сервера Exchange 2007.

После того, как сервера загрузятся всё должно работать.
У меня был Exchange 2007 в версии SP1 RollUp 9.

На всё про всё у меня ушло 3,5 часа с проверками многочисленных клиентов MS Outlook 2003, а можно было управиться и за 20 минут, если считать перезагрузку серверов.

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

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