В 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”
Мораль традиционна – читайте документацию внимательнее и обращайте внимание на комментарии – их тоже умные люди пишут. Иногда. 🙂
Кстати, а в Office 2007 или 2010 уже починили поведение при создании нового профиля Outlook?
Вот это – http://ru-sysadmins.livejournal.com/1335267.html
Не обращал внимание.
Как мне кажется, вариант с автоопределением более гибкий: меня изредка посещала мысль о том, что будет, если я решу переименовать сервер Exchange 2003. Вариант с псевдонимом (CNAME-запись) может не прокатить, и тогда единственный выход – Frontend-сервер.
Я не про механизм определения Exchange-сервера, хотя это уже гораздо лучше CNAME-записи.
Я про то, что пользователь видит, когда первый раз Outlook запускает.
Почему, заходя на OWA Explorer видит синий, старый интерфейс 2007, а Chrome видит желтый 2010 ?
Или это только у меня ?
От браузера зависит