Безопасное обновление и установка серверов Exchange

 

Виктория Гиндосова поделилась ссылкой.

Тема публикации: Безопасное обновление и установка серверов Exchange
Всем привет!
Некоторое время назад я проводила вебинар, посвященный корректной установке серверов Exchange с минимальным влиянием на продуктивную инфраструктуру. Поскольку не первый раз у моих заказчиков возникают проблемы, вызванные установкой новых серверов (в частности, в процессе миграции), я бы хотела в данном посте так же для вас отметить один важный момент, который нужно учесть.
Несмотря на то, что новый сервер может быть не включен в балансировку, обращение к нему пользователей произойдет обязательно. Это вызвано не обращением к сервису автообнаружения (как правило, т.к. внутри домена мы обращаемся сначала к самым старым записям SCP). Но вполне рабочий “старый” сервер может вернуть настройки с “нового” сервера, т.к. тот так же находится в сайте с ящиком\БД обратившегося пользователя. Именно поэтому мы говорим о том, что критично и важно иметь идентично настроенные сервера внутри сайта. А после установки все URL указывают на сам сервер, причем с самоподписанным сертификатом.
По наилучшим практикам рекомендуется иметь выделенный сайт, в который и нужно устанавливать новые сервера. В продуктив переносится уже установленный и корректно настроенный сервер. На практике эта рекомендация соблюдается не всегда, что приводит к возникновению сообщения о некорректном сертификате, а в худшем случае недоступности сервиса для пользователей (например, если напрямую доступа на сервера нет – только через балансировщик).
Поэтому основной задачей после установки нового сервера (если нет выделенного сайта) является КАК МОЖНО БЫСТРЕЕ привязать корректный сертификат к IIS и настроить URL виртуальных директорий и точки подключения Oulook Anywhere и Autodiscover идентично другим серверам в сайте.
Как правило, я устанавливаю сертификат заранее, уточняю thumbprint и подготавливаю команду для привязки. В Exchange 2010 если установщик находил валидный сертификат в хранилище, то он его привязывал автоматически. В 2013 это так не работает и на установщик я не полагаюсь.
Enable-ExchangeCertificate -Thumbprint XXXXXX -Services IIS -Server MAILBOX1
Далее подготавливаем команды для настройки виртуальных каталогов и Outlook Anywhere (тут нужно уточнить имена и способы аутентификации).
Примеры (нужно смотреть текущие настройки и в зависимости от этого корректировать команды):
Get-OWAVirtualDirectory -Server MAILBOX | Set-OWAVirtualDirectory -FormsAuthentication $false
Get-OWAVirtualDirectory -Server MAILBOX | Set-OWAVirtualDirectory -InternalURL https://outlook.contoso.com/owa -ExternalURL https://outlook.contoso.com/owa -BasicAuthentication $True -WindowsAuthentication $true
Get-ECPVirtualDirectory -Server MAILBOX | Set-ECPVirtualDirectory -FormsAuthentication $false
Get-ECPVirtualDirectory -Server MAILBOX | Set-ECPVirtualDirectory -InternalURL https://outlook.contoso.com/owa -ExternalURL https://outlook.contoso.com/owa -BasicAuthentication $True -WindowsAuthentication $true
Get-ActiveSyncVirtualDirectory -server MAILBOX | Set-ActiveSyncVirtualDirectory -InternalUrl https://outlook.contoso.com/Microsoft-Server-ActiveSync -ExternalUrl https://outlook.contoso.com/Microsoft-Server-ActiveSync
Get-OABVirtualDirectory -server MAILBOX | Set-OABVirtualDirectory -InternalURL
Get-WebServicesVirtualDirectory -server MAILBOX | Set-WebServicesVirtualDirectory -InternalURL https://outlook.contoso.com/EWS/Exchange.asmx -ExternalUrl https://outlook.contoso.com/EWS/Exchange.asmx
Set-ClientAccessServer MAILBOX –AutodiscoverServiceInternalUri
Get-outlookanywhere –server MAILBOX| set-outlookanywhere –ExternalHostname outlook.contoso.com –InternalHostname outlook.contoso.com -ExternalClientsRequireSsl:$true -InternalClientsRequireSsl:$true -ExternalClientAuthenticationMethod Negotiate -InternalClientAuthenticationMethod Negotiate
Get-MapiVirtualDirectory –server MAILBOX | Set-MapiVirtualDirectory -InternalUrl https://outlook.contoso.com/mapi -ExternalUrl https://outlook.contoso.com/mapi
После перенастройки рекомендуется перезапустить IIS полностью (сервер новый, дергать отдельные пулы нет смысла).
Данные команды необходимо выполнить сразу (Если команды проверены, можно прямо блоком, есть даже готовые скрипты для настройки, но я пишу сама всегда)после установки сервера. Есть небольшая вероятность, что настройки, которые указывают на новый сервер уже были закешированы в пуле автообнаружения (словили данную ситуацию с одним из заказчиков). В качестве дополнительной подстраховки можно так же сделать перезапуск пула автообнаружения (на всех серверах, в том числе старых\продуктивных). На работу пользователей это не влияет.
Можно по каждому серверу отдельно, либо скриптом (скрипт рабочий, но обязательно тестируйте) - как вам надо, по сайту, всей организации. Пример -
$appPoolName = "MSExchangeAutodiscoverAppPool"
$servers = get-exchangeserver
foreach ($server in $servers) {
$appPool = get-wmiobject -computername $server -namespace "root\MicrosoftIISv2" -class "IIsApplicationPool" | Where-Object {$_.Name -eq "W3SVC/APPPOOLS/$appPoolName"}
$appPool.Recycle()
}
После этого можно заканчивать настройку - коннектора приема, Kerberos и все, что нужно. Ничего сложного на самом деле. Желаю всем беспроблемной установки и обновления! 😉
Вот еще в добавление - как скопировать настройки с существующего сервера сразу после установки нового https://gallery.technet.microsoft.com/.../sets-the....
очень хороший скрипт, но копирует только базовые настройки. Остальное нужно вручную.
OUTLOOK.CONTOSO.COM
outlook.contoso.com

Комментарии

Популярные сообщения из этого блога

У вас нет прав для отправки сообщения вместо указанного пользователя. Ошибка: [0x80070005-0x0004dc-0x000524]

Поиск и удаление писем в ящиках Exchange Server

KSMG Подготовка конфигурационных файлов для подключения к LDAP