Exchange 2010 Autodiscover site affinity

В Exchange 2007/2010 есть прекрасный функционал для того, чтобы Outlook 2007/2010 сам находил почтовый сервер организации. Называется эта штука Autodiscover и действует следующим образом:

1) С помощью Service Connection Point в Active Directory ищется список подходящих CAS-серверов.

Если этот механизм не работает, или AD не доступна (например, при доступе снаружи), то используется DNS;

2) Если до Active Directory достучаться не удалось, то ищется файл настроек по адресу https://<smtp-address-domain>/autodiscover/autodiscover.xml или https://autodiscover.<smtp-address-domain>/autodiscover/autodiscover.xml

Если у вас одна организация Exchange и много сайтов Active Directory, вы можете настроить CAS-сервера, чтобы они обслуживали в формате автообнаружения только определенный список сайтов.

Собственно, это была преамбула.

Я уже рассказывал о переходе Exchange 2007-Exchange 2010 в нашем сайте. В понедельник мы выключили последний CAS-сервер Exchange 2007 и сразу же столкнулись с неработоспособностью механизма автообнаружения. Outlook обнаруживал старый CAS, не мог к нему подключиться и радостно начинал опрашивать DNS (см. пункт №2).

Пикантность ситуации придавало то, что с адреса, не принадлежащего списку наших сайтов, автообнаружение работало.

Запускаем EMS:

[PS] C:\Windows\system32>Get-ClientAccessServer NEWCAS | select name, autodiscoversitescope

Name                                                        AutoDiscoverSiteScope
—-                                                        ———————
NEWCAS                                               {prm-1, prm-2, prm-3, prm-4}
[PS] C:\Windows\system32>Get-ClientAccessServer OLDCAS | select name, autodiscoversitescope

Name                                                        AutoDiscoverSiteScope
—-                                                        ———————
OLDCAS                                                    {prm-1, PRM-2, PRM-3, PRM-4}

На первый взгляд все хорошо и красиво, разве что названия некоторых сайтов написаны большими буквами.

Первая же статья в гугле подсказала, что свойство AutoDiscoverSiteScope содержит набор строк. А я прекрасно помню, что для своих CAS’ов в соответствии со статьей я делал одну строку. Для иллюстрации разницы привожу вывод:

[PS] C:\Windows\system32>(Get-ClientAccessServer NEWCAS).AutoDiscoverSiteScope

prm-1, prm-2, prm-3, prm-4

[PS] C:\Windows\system32>(Get-ClientAccessServer OLDCAS).AutoDiscoverSiteScope

prm-1

prm-2

prm-3

prm-4

Эффект WOW.

Меняем свойство:

[PS] C:\Windows\system32>$site=(Get-ClientAccessServer OLDCAS).AutoDiscoverSiteScope

[PS] C:\Windows\system32>set-ClientAccessServer newCAS -AutoDiscoverSiteScope $site

Выводы:

В комментарии к статье сказано, что названия сайтов перечисляются в отдельных кавычках:

Set-ClientAccessServer -Identity “ServerName” -AutodiscoverSiteScope “Site-A”,”Site-B”,”Site-C”

Мораль традиционна – читайте документацию внимательнее и обращайте внимание на комментарии – их тоже умные люди пишут. Иногда. 🙂

5 thoughts on “Exchange 2010 Autodiscover site affinity”

  1. Не обращал внимание.
    Как мне кажется, вариант с автоопределением более гибкий: меня изредка посещала мысль о том, что будет, если я решу переименовать сервер Exchange 2003. Вариант с псевдонимом (CNAME-запись) может не прокатить, и тогда единственный выход – Frontend-сервер.

  2. Я не про механизм определения Exchange-сервера, хотя это уже гораздо лучше CNAME-записи.
    Я про то, что пользователь видит, когда первый раз Outlook запускает.

  3. Почему, заходя на OWA Explorer видит синий, старый интерфейс 2007, а Chrome видит желтый 2010 ?
    Или это только у меня ?

Leave a Reply

Your email address will not be published. Required fields are marked *