Настройка сервиса автообнаружения
Сервис автообнаружения (autodiscover) является новой функцией Exchange 2007. Затрагивает он работу Exchange сервера с клиентами Outlook 2007. Через этот сервис клиенты Outlook 2007 получают оффлайновую адресную книгу, доступ к заместителю (Out of Office Assistant), информации о доступности пользователя (free/busy information) итд. В общем вещь очень важная и связанная напрямую с работой пользователей. Существует несколько сценариев настройки этого сервиса, связано это с разной конфигурацией клиентских почтовых организаций. Я расскажу лишь об одном, на мой взгляд, самом простом способе настройки. Настройка делается в несколько шагов.
- Создание и установка сертификата, поддерживающего несколько DNS имён на сервере и на клиентах. Создание сертификата я подробно описал в предыдущей статье. Там же описано как устанавливать его на сервере. Клиентам сертификат можно раздать централизованно, используя групповые политики.
- Создание необходимых записей во внешней DNS-зоне. Для того, чтобы клиент Outlook 2007 смог подключиться к сервису автообнаружения извне локальной сети во внешней DNS-зоне необходимо создать соответствующие записи для сервиса. Как минимум, надо создать A-запись с именем autodiscover и c ip-адресом совпадающим с адресом сервера клиентского доступа.
- Настройка виртуальных каталогов на CAS-сервере. Все настройки делаются через Exchange Management Shell. Подключаем Outlook Anywhere (если не подключен):
Enable-OutlookAnywhere -DefaultAuthenticationMethod:Ntlm -ExternalHostname:external.cas.name
Указываем внешний адрес оффлайновой адресной книги (если ранее не указывали):
Set-OABVirtualDirectory -Identity "CAS\OAB (Default Web Site)" -ExternalURL https://external.cas.name/OAB -InternalURL https://internal.cas.name/OAB
Настраиваем веб-сервисы:
Set-WebServicesVirtualDirectory -Identity "CAS01\EWS (Default Web Site)" -ExternalURL https://external.cas.name/EWS/Exchange.asmx -BasicAuthentication:$True
Указываем так называемую точку подключения сервиса (Service Connection Point – SCP):
Set-ClientAccessServer -AutodiscoverServiceInternalUri https://internal.cas.name/autodiscover/autodiscover.xml
Теперь надо проверить работоспособность сервиса автообнаружения. Это можно сделать на сервере, используя командлет Test-OutlookWebServices и на клиентском компьютере. Результат на сервере будет выглядеть примерно следующим образом:
[PS] C:\Windows\System32>Test-OutlookWebServices -Identity buldakov | fl
Id : 1003
Type : Information
Message : About to test AutoDiscover with the e-mail address
Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script
Id : 1006
Type : Information
Message : The Autodiscover service was contacted at https://cas1/autodiscover/autodiscover.xml.
Id : 1016
Type : Success
Message : [EXCH]-Successfully contacted the AS service at https://cas1.domain.local/EWS/Exchange.asmx. The elapsed time was 46 milliseconds.
Id : 1015
Type : Success
Message : [EXCH]-Successfully contacted the OAB service at https://cas1.domain.local/EWS/Exchange.asmx. The elapsed time was 0 milliseconds.
Id : 1014
Type : Success
Message : [EXCH]-Successfully contacted the UM service at https://cas1.domain.local/UnifiedMessaging/Service.asmx. The elapsed time was 140 milliseconds.
Id : 1006
Type : Success
Message : The Autodiscover service was tested successfully.
На клиентском компьютере тестирование поводится с помощью Outlook’а. Для этого нажимаем Ctrl и правой кнопкой мышки на иконку аутлука в трее. Выскочит меню:
Выбираем "Test E-mail AutoConfiguration...", указываем свой пароль. Проверяем только автообнаружение, поэтому только напротив Use AutoDiscover оставляем галочку и нажимаем кнопку Test. В результате удачного прохождения тестирования результат будет примерно следующий:
Удаление front-end серверов
После удаления всех внешних коннекторов удаление front-end серверов происходит через Add/remove Programs. В отличие от back-end серверов никаких дополнительных действий совершать не надо.
Удаление back-end серверов
На текущий момент у нас остались только back-end сервера. Вся информация из общих папок отреплицирована на сервера почтовых ящиков Exchange 2007. Остался последний шаг – удаление back-end серверов. Операция производится в несколько шагов. Кроме этого, для удаления самого последнего сервера Exchange 2003 необходимо сделать ряд дополнительных операций. Итак, приступим.
- Переносим оставшиеся почтовые ящики на новые почтовые сервера. При переносе почтовых ящиков нужно использовать Exchange Management Console (узел Recipient Configuration => Mailbox) или командлет Move-Mailbox. Использовать Exchange System Manager крайне не рекомендуется. Если ящиков много, то необходимо практически определить скорость переноса ящиков на новый сервер. При переносе количество сообщений в ящике является фактором более значимым, чем размер ящика. У меня ориентировочные цифры были следующие: ящик, в котором 5-10 тыс. объектов переносился за 10 минут. Исходя из этой цифры необходимо рассчитывать время переноса, и пытаться осуществлять его в нерабочее время. Кроме этого ящики, в которых количество объектов более 50 тыс. желательно переносить по одиночке. При параллельном переносе с другими ящиками процесс сильно затягивается.
Рекомендуется после переноса всех ящиков не удалять старые сервера неделю или две, так как клиенты получают информацию о том, что их ящики переехали на новый сервер со старых серверов. За это время большинство клиентов обновят информацию. Остальных придётся обновлять вручную. Затем удаляем почтовые базы.
- Переносим реплики общих папок с back-end серверов на новые сервера почтовых ящиков. Операция выполняется через Exchange System Manager. Кроме этого можно использовать скрипт MoveAllReplicas.ps1, который идёт в комплекте с Exchange 2007. Саму операцию желательно проводить в нерабочее время, так как во время процесса переноса реплик может вырасти трафик между почтовыми серверами, что может сказать на производительности.
После выбора операции перемещения всех реплик с сервера указываем целевой сервер, куда будут перемещены все реплики:
Операция может занять длительное время (в зависимости от количества общих папок в базе). По завершении операции перемещения папка Public Folder Instances будет пустой.
Удаляем саму базу общих папок. При этом нас предупредят, что база выполняет ряд ролей, которые нужно будет переместить на новый сервер:
Указываем, какая база общих папок будет теперь выполнять эти роли:
- Удаляем старые соединители групп маршрутизации (которые соединяют старые группы маршрутизации Exchange 2003 и новую группу маршрутизации Exchange 2007). Для этого можно использовать либо Exchange System Manager, либо командлет Remove-RoutingGroupConnector.
- Удаляем службы обновления получателей для доменов. Для этого используется Exchange System Manager:
Эту операцию необходимо сделать для всех доменов, которые входят в лес.
- Удаляем back-end сервера. После этого через Add/Remove Programs можно удалять Exchange 2003. В случае, если предыдущие шаги были выполнены не до конца, программа установки сообщит о том, что удаление не может быть осуществлено и укажет причину. Это может быть оставшийся неудалённым коннектор групп маршрутизации, или какие-то старые пользователи, ящики которых в своё время были некорректно удалены. В последнем случае пригодится статья Error c1034a7f When Attempting To Remove Exchange Installation. После устранения указанных причин процесс удаления нужно будет запустить заново.
Удаление последнего сервера Exchange 2003
Итак, у нас удалены все back-end сервера, за исключнием последнего. Перед его удалением надо совершить ряд операций, для корректного удаления из почтовой организации информации о старых почтовых серверах. Приступим.
- Перемещаем дерево общих папок. Для начала переместим дерево общих папок в новую административную группу Exchnge 2007. Для этого в административной группе Exchange Administrative Group (...) создается новый контейнер для дерева общих папок (для этого используется Exchange System Manager(!)):
И в него переносится дерево почтовых папок простым перетаскиванием из старой административной группы.
- Удаляем службу обновления получателей уровня предприятия. Через Exchange System Manager она не удаляется. Для её удаления необходимо использовать оснастку ADSIEdit.msc. Разворачиваем узел Конфигурация, далее узел CN=Configuration,CN=<домен> => CN=Services => CN=Microsoft Exchange => CN=<имя_организации_Exchange> => CN=Address Lists Container => CN=Recipient Update Services. Справа в окне просмотра появится объект службы обновления получателей уровня предприятия. Удаляем его.
- Удаляем старые группы маршрутизации через Exchange System Manager. Для этого можно использовать как Exchange System Manager, так и командлет Remove-RoutingGroupConnector.
- Удаляем последний сервер через оснастку Add/Remove Programs. Если удаление по каким то причинам невозможно (что-то не сделано), то выскочит сообщение и невозможности удаления с причиной. Нужно будет устранить причину и запустить процесс удаления заново.
- Удаление прав доступа. После удаления последнего сервера Exchange 2003 из почтовой организации Exchange 2007 необходимо удалить наследуемое (групповое) право на запись списка DACL для группы серверов Exchange из корня домена, выполнив следующую команду:
Remove-ADPermission "dc=<Domain>" -user "<RootDomain>\Exchange Servers" -AccessRights WriteDACL -InheritedObjectType Group
Эту операцию нужно сделать для каждого домена в почтовой организации.
- Удаление устаревших групп. Затем можно также удалить устаревшие группы безопасности «Exchange Domain Servers» и «Exchange Enterprise Servers» из всех доменов.
Административную группу, оставшуюся от старых почтовых серверов и фактически пустую, удалять не рекомендуется.
Последние сообщения из обсуждения статьи на форумеPavel Nagaev
| создано: 24-11-2009 12:51 После установки SP2 для Microsoft Exchange 2007 работа с сертификатами стала проще. |
Pavel Nagaev
| создано: 24-11-2009 13:40 Я имел ввиду появление мастера сертификатов
http://www.exchangerus.ru |
черный
| создано: 24-11-2009 14:30 Паш, в sp2 появилось много всего интересного :) | |