Exchange 2007Немного траблшутинга. Проблема следующего характера. Имеется почтовая организация – сервер почтовых ящиков в кластере (SCC) + сервер с ролями hub/cas. Всё установлено на Windows 2008 server sp2. На Exchange установлен последний rollup update (8). Клиент использует Outlook 2007. При попытке скачать полный варинт адресной книги получаем следующее окошко:

Capture

Окошко висит до тех пор пока не нажмёшь Cancel All или Cancel Task. В итоге клиент не получает новую адресную книгу. При этом сервер почтовых ящиков без каких либо проблем генерирует OAB, а CAS без видимых проблем её себе забирает. Понятно, что клиенты Outlook 2003 и меньших версий такой проблемы не имеют, так как получают адресную книгу через общие папки. В итоге подсказали следующее решение.

1. Нужно выключить kernel-mode authentication на IIS на CAS. При наличии установленного RU7 или RU8 этого делать не обязательно, так как после его установки этот режим аутентификации выключается. Если они не установлены, то отключение выполняется следующей командой:

C:\Windows\system32\inet\srv\appcmd.exe set сonfig
/section:system.webServer/security/authentication/windowsAuthentication
/useKernelMode:false

2. Включаем редирект с дефолтного сайта на папку owa на CAS. Как это сделать подробно описано на технете. Стоит заметить, что эта настройка наследуется всеми дочерними папками дефолтного сайта, поэтому редирект надо выключить на всех дочерних узлах дефолтного сайта. При этом переписывается файл web.config во всех дочерних папках. В отличие от папок Autodiscover или OWA в папке OAB этому файлу почему-то не назначаются права для Authenticated Users. Вообще никаких. Поэтому ни Outlook ни IE не могут получить доступ к папке OAB, а следовательно и не скачивается адресная книга.

3. Исправляем это следующим образом. Открываем свойства web.config в папке OAB на CAS. Добавляем на закладке Security Authenticated Users и даём им права на чтение и чтение и запуск (read и read and execute). Перезапускаем IIS с помощью iisreset /noforce.

Всё. Иногда может потребоваться пересоздание почтового профиля в Outlook 2007. Но у меня заработало и без пересоздания.

Миграция на Exchange 20071. При переносе почтовых ящиков нужно использовать Exchange Management Console или командлет move-mailbox. Использовать Exchange System Manager крайне не рекомендуется. Если ящиков много, то необходимо практически определить скорость переноса ящиков на новый сервер. При переносе количество сообщений в ящике является фактором более значимым, чем размер ящика. У меня ориентировочные цифры были следующие: ящик, в котором 5-10 тыс. объектов переносился за 10 минут. Исходя из этой цифры необходимо рассчитывать время переноса, и пытаться осуществлять его в нерабочее время. Кроме этого ящики, в которых количество объектов более 50 тыс. желательно переносить по одиночке. При параллельном переносе с другими ящиками процесс сильно затягивается.

2. Небольшое дополнение по настройке кластера. По умолчанию отказ файлового ресурса-свидетеля (на котором находится кворум кластера) приводит к переносу кластерной группы ресурсов на пассивный узел. Это поведение вызвано следующей настройкой:

capture

Отключается она следующим образом: Оснастка Failover Cluster Management => выбираем наш кластер => в средней части остастки раскрываем Cluster Core Resources => правой кнопкой мышки на File Share Witness и выбираем свойства => на закладке Policies снимаем галку напротив “If restart is unsuccessful, fail over all resources in this service or application”. Оригинал этой статьи находится здесь.

3. После удаления всех внешних коннекторов удаление front-end серверов происходит через Add/remove Programs. В отличие от back-end серверов никаких дополнительных действий совершать не надо.

cert021

Типа похвастался =)

SymantecЭту заметку решил написать по итогам успешной борьбы с проблемой заявленной в заголовке. В Exchange 2007 на сервер с ролью CAS расширения EV ставятся немного не так как на Exchange 2003. И если в Exchange 2003 иконки EV в OWA не отображаются, то скорее всего проблема в некорректной установке расширений EV, то в Exchange 2007 проблема может быть и в некорректной настройке роли CAS.

С чего начать? Для начала мы смотрим, что все необходимые компоненты для CAS установлены.  Далее нужно проверить, что расширения EV корректно установились в систему. Для этого открываем Program FilesMicrosoftExchange ServerClientAccessOwaweb.config. В нём должны быть следующие строки:

<httpModules>
<add type=”Microsoft.Exchange.Clients.Owa.Core.OwaModule, Microsoft.Exchange.Clients.Owa” name=”OwaModule”/>

<add type=”Symantec.EnterpriseVault.Owa.EVOwaModule, Symantec.EnterpriseVault.Owa” name=”EVOwaModule”/>
</httpModules>

<!– OWA HTTP Handlers –>
<httpHandlers>
<add verb=”POST,GET” path=”ev.owa” type=”Microsoft.Exchange.Clients.Owa.Core.OwaEventHandlerFactory, Microsoft.Exchange.Clients.Owa”/>
<add verb=”GET,HEAD” path=”attachment.ashx” type=”Microsoft.Exchange.Clients.Owa.Core.AttachmentHandler, Microsoft.Exchange.Clients.Owa”/>
</httpHandlers>

Если их нет – переустанавливаем расширения.

После установки расширений EV в Program FilesMicrosoftExchange ServerClientAccessOwaweb.config в модуле <appsettings> должны так же появиться следующие строчки:

<add key=”EnterpriseVault_ResourceVersion” value = “vХ.Х.Х.ХХХХ”/>
<add key=”EnterpriseVault_WebDAVRequestHost” value=”localhost”/>

При попытке подключиться к OWA пользователем расширения EV пытаются сначала попасть по адресу https://localhost/exchange/stanislav@domain.com и прочитать содержимое скрытых сообщений. Если это удаётся, далее делается обращение по адресу https://localhost/ews/exchange.asmx и так же делается попытка прочитать скрытые сообщения. Если это удаётся, то расширения считают, что пользователь подключен к EV и пытается вывести те иконки в окно OWA, к которым есть доступ в Desktop policy. Это теория. Попробуем на практике проверить так ли это.

Для начала на сервере CAS пробуем зайти по адресу https://localhost/exchange/stanislav@domain.com. В моём случае этого сделать не получилось. Но! Все прекрасно сработало (открылась страничка ввода логина/пароля) если вместо localhost я указывал ip-адрес CAS сервера. То же самое и со второй ссылкой.

Это уже фактически решение проблемы. В файл конфигурации веб-сервера OWA надо просто добавить информацию о том, чтобы расширения EV использовали не localhost для подключения, а ip-адрес. Для этого редактируем строку <add key=”EnterpriseVault_WebDAVRequestHost” value=”localhost”/> и вместо localhost указываем ip-адрес CAS сервера. Кроме этого надо добавить ещё одну строку. В итоге модуль <appsettings> будет выглядеть следующим образом:

<add key=”EnterpriseVault_ResourceVersion” value=”vХ.Х.Х.ХХХХ”/>
<add key=”EnterpriseVault_WebDAVRequestHost” value=”CAS_ip_address”/>
<add key=”EnterpriseVault_ExchangeWebServicesUrl” value=”https://CAS_ip_address/ews/exchange.asmx”/>

После этого всё заработало. На самом деле рассмотренное решение всего-лишь вершина айсберга. Более полный документ по нахождению ошибок связанных с отсутствием иконок EV в OWA 2007 можно посмотреть здесь. А полное описание возможных опций EV в файле настроек веб-сервера OWA можно взять здесь.

Миграция на Exchange 2007На текущий момент Exchange 2007 предоставляет стандартную страничку для ввода логина/пароля и 4 темы внутри OWA. Для приведения OWA к общекорпоративному шаблону можно его внешний вид поменять. Этим сейчас и займёмся.

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

Все темы Echange хранит на сервере с ролью CAS в папке Client AccessOWA<версия>themes. Где <версия> – зависит от установленных обновлений. В этой папке можно создать подпапку с именем OrgName, например, после чего копируем из папки Client AccessOWA<версия>themesbase файлы: premium.css, owafonts.css, logopt.gif, logopb.gif, nbbkg.gif, themeinfo.xml.

В файле themeinfo.xml находим строку theme displayname и изменяем её значение на OrgName Theme. Вся строка будет выглядеть следующим образом:

theme displayname = "OrgName Theme"

После этого меняем файлы logopt.gif, logopb.gif и nbbkg.gif в любом графическом редакторе. Они составляют шапку внутри нашего OWA. Схема их расположения следующая:

Заголовочные файлы Outlook Web Access

Устанавливаем нашу тему темой по умолчанию и отключаем возможность её изменения. Делается это через EMS следующей командой:

set-owavirtualdirectory -identity "CASowa (default web site)" -defaulttheme "OrgName" 
-themeselectionenabled $false

где CAS – наш сервер с ролью CAS.

Теперь имеет смысл изменить окно входа/выхода. Для этого необходимо отредактировать следующие графические файлы в папке Client AccessOWA<версия>themesbase: lgnbotl.gif, lgnbotm.gif, lgnbotr.gif, lgnexlogo.gif, lgnleft.gif, lgnright.gif, lgntopl.gif, lgntopm.gif, lgntopr.gif. Перед редактированием эти файлы необходимо скопировать куда-нибудь, чтобы в случае чего были доступны исходные версии файлов. Расположены они следующим образом:

Страница входа в Outlook Web Access с настраиваемыми графическими файлами
Страница выхода из Outlook Web Access с настраиваемыми графическими файлами

Кроме этого в папке Client AccessOWA<версия>themesbase можно отредактировать файл logon.css, для изменения цвета текста в окошках входа/выхода. Параметры текста расположены следующим образом:

Страница входа в Outlook Web Access по умолчанию с параметрами текста

Расположение этих параметров в файле logon.css можно найти используя следующую табличку:

Изменяемый элемент Строка для поиска Описание
Цвет фона Background: #7F90b1 Цвет фона страниц входа и выхода.
Цвет основного текста select, table {color:#ffffff;} Цветом основного текста выводятся выбираемые параметры и поля ввода на странице входа в Outlook Web Access.
Разделительные линии #A9AAc4 На всех трех страницах, использующих файл logon.css, имеются тонкие линии, разделяющие их на разделы.

А за более подробной информацией о редактировании внешнего вида OWA следует обратиться к статье “Создание темы для Outlook Web Access”.