Если серверы Exchange 2k7/10 на удалённой площадке не хотят работать с локальными контроллерами домена

Недавно в процессе развертывания Exchange 2010 на удалённой площадке попал в неприятную ситуацию. Почтовые серверы проинсталлировались, но управление ими через консоли было ужасно медленным, постоянно возникали ошибки репликации, а миграцию проводить вообще было невозможно. Посмотрев на проблему внимательнее, я увидел, что все серверы в качестве контроллеров для работы выбрали не локальные, а расположенные в центральном офисе.

image

Из-за загруженности каналов связи и из-за того, что межсайтовые репликации выполняются по расписанию, и возникали ошибки и сложности. В Powershell есть команда, позволяющая указать контроллеры, с которыми должен работать конкретный почтовый сервер, явно: Set-exchangeserver –StaticDomainControllers и –StaticGlobalCatalogs. Однако, после того как я применил эту команду и перезагрузил сервер, службы Exchange не стартовали. Пришлось сбросить эти параметры в $Null.

За определение локальных и удалённых контроллеров отвечает служба Microsoft Active Directory Topology. Периодически она отражает текущее положение дел в журнале приложений, Event 2080:

image

Вглядитесь повнимательнее на скриншот. Параметр “SACL right” для контроллеров в сайте равен нулю. Этого быть не должно. Он должен равняться единице. Вот в чём причина ошибки!

Дело в том, что при подготовке домена к инсталляции Exchange производится ряд настроек. В том числе, добавляются определенные права для группы “Exchange Servers” корневого домена леса на объекты компьютеров-контроллеров текущего домена. Групповые политики, используемые в организации, или действия администраторов, могут затереть данные настройки, из-за чего нормальная работа почтовых серверов будет нарушена.

Для исправления ситуации необходимо обеспечить применимость всех настроек, осуществляемых при подготовке домена к установке Exchange, в частности:

1. Право группы Exchange Servers управлять аудитом и журналом безопасности у всех DC/GC на площадке (через групповую политику)

2. Право nTSecurity Descriptor = Read для группы Exchange Servers у всех DC/GC на площадке (через ADSIEdit)

Вторая настройка выполняется через ADSIEdit: выбираются свойства контроллера –> Security –> Advanced –> Add –> выбираете группу Exchange Servers –> вкладка Properties –> устанавливаем галочку Allow на Read nTSecurotyDescriptor.

 После того, как обе настройки сделаны, перезагрузите службу Microsoft Active Directory Topology (потребует перезагрузки и остальных служб Exchange), либо подождите некоторое время. Отследите новое событие 2080. Убедитесь в том, что SACL Right = 1. С помощью консоли Exchange Management Console убедитесь, что на вкладке System Settings для соответствующих серверов указаны локальные контроллеры. Проблема решена, можно работать дальше :)