Сразу после миграции почтового ящика на Exchange 2016 Outlook перестаёт отображать:

  • Информацию о занятости переговорных комнат
  • Подсказки (Mailtips)

clip_image002

clip_image003

Пробуем смотреть трафик на клиенте фиддлером. Попытка запроса информации о занятости выглядит примерно так:

Запрос:

POST https://servicename/EWS/Exchange.asmx HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Pragma: no-cache
Content-Type: text/xml
Cookie: OutlookSession="{<GUID1>}"
User-Agent: Microsoft Office/15.0 (Windows NT 6.3; Microsoft Outlook 15.0.4867; Pro)
Client-Request-Id: {GUID2}
Depth: 0
X-ClientStatistics: MessageId=urn:uuid:<GUID>,RequestTime=,ResponseTime=71,ResponseSize=0,
                    HttpResponseCode=500,overflow=36
X-User-Identity: user@domain.com
Content-Length: 1678
Host: servicename
Authorization: Negotiate

Ответ:

HTTP/1.1 500 Internal Server Error
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/8.5
request-id: GUID1
X-CalculatedBETarget: exchange2010.server
X-AspNet-Version: 4.0.30319
WWW-Authenticate: Negotiate
Persistent-Auth: true
X-Powered-By: ASP.NET
X-FEServer: exchange2016.server

Сервер возвращает 500 ошибку. Что интересно, для клиента новый фронтэнд сервер (X-FEServer) в качестве бэкэнда (X-CalculatedBETarget) указывает старый сервер, хотя почтовый ящик уже находится на новом.

Вспоминаем проблему с пулом MSExchangeAutodiscoverAppPool, который надо было перезапускать после миграции ящика, иначе устаревшая запись в кэше не позволяла клиенту подключать Outlook к новому серверу. Похоже, здесь полностью аналогичная ситуация. Только в качестве негодяя выступает другой пул, который отвечает за работу Exchange Web Services – MSExchangeServicesAppPool. Перезапускаем его:

Restart-WebAppPool MSExchangeServicesAppPool

Проблема исчезает.

Спустя пару дней наткнулся на свежую статью в базе знаний: https://support.microsoft.com/en-us/kb/3196518

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

В очередной раз объединяемся с группой IT Pro. Докладчиков будет четверо. Формат встречи – онлайн. Дата встречи – как обычно, последний вторник месяца, 29 ноября. Начало – 15-00.

Расписание встречи следующее:

15:00-16:30 Polycom + Skype for Business = законченное UC решение. Александр Перчиков, Руководитель Центра Решений и Технологий Polycom.

  • Решения Polycom для реалистичной видеосвязи
  • Аудио и видео периферия для Skype For Business
  • Интеграция сред SfB и «классической» ВКС

16:30-18:00 Microsoft Teams, Skype Operations Framework, Skype для Бизнеса в составе пакета Click-To-Run. Сергей Росин, Technical Solutions Professional – Communications Microsoft Russia.

Будут затронуты следующие темы:

Microsoft Teams – Новое решение для совместной работы на базе мгновенных сообщений

  • Описание решения
  • Возможности
  • Рекомендации к развертыванию

Skype Operations Framework – Методология для корректного развертывания Skype для Бизнеса в облаке

  • Описание методологии
  • Описание набора документации в методологии

Skype для Бизнеса в составе пакета Click-To-Run. Уникальные возможности, которых нет MSI пакете Office 2016 Pro Plus.

18:00-19:30 ADCS Web Services – шаг в открытые сети. Вадимс Поданс, восьмикратный MVP.

План доклада:

  • Краткий экскурс в историю с основными вехами развития ADCS начиная с NT4 с обсуждением наиболее важных и насущных проблем совместимости и безопасности ADCS
  • Краткий обзор ADCS Web Services
  • Описание новых сценариев использования ADCS для недоменных клиентов
  • Более детальный разбор ADCS Web Services при внедрении
  • Демонстрация

Описание от автора: «Веб-службы ADCS позволяют раздвинуть границы использования Microsoft CA за пределы периметра с возможностью интеграции и совместимости со сторонними гетерогенными системами. Объясню. Расскажу. Покажу».

19:30-21:00 Эволюция SDN в Windows Server: Network Controller. Сергей Груздов, ведущий инженер, Dataline.

Тезисы: Новое Software Defined Network v2 в Windows Server 2016: Network Controller, Software Load Balancing, GRE/SSTP/IPSEC VPN, поддержка VXLAN

Идея виртуализации сетей берет свое начало со статических VLAN, однако облачная среда нуждается в более гибких и безопасных решениях сетевой виртуализации. Уже в Windows Server 2012 сетевая виртуализация Hyper-V поддерживала формат инкапсуляции NVGRE. Windows Server 2016 работает и с другим перспективным стандартом инкапсуляции – VXLAN, позволяющим обмениваться туннельными конечными точками (VTEP) между виртуальными машинами и физическими устройствами.  Network Controller, о котором пойдет речь в докладе, представляет собой программируемую среду для управления такими виртуальными сетями и применения детальных политик, определяющих доступ, балансировку нагрузки и Quality of Service. Многие производители включают поддержку стандарта VXLAN в свои сетевые адаптеры и активное сетевое оборудование.

Ссылка на мероприятие – тут.

Обновление: Записи доступны по ссылкам:
UC². Встреча №19. Станислав Булдаков . Modern Authentication
UC². Встреча №19. Сергей Трюхан. ВКС Avaya RADvision, 20 лет на боевом посту

Очередная встреча UC² под номером 19 состоится уже через две недели, в последний вторник октября – 25 числа, как обычно с 18-00 до 21-00. Встреча будет проходить и в ОНЛАЙН-режиме и в МТЦ. А вот кто будет выступать:

  1. Станислав Булдаков (Лаборатория Касперского)

    Тема: Modern Auth
    – Что такое Modern Auth
    – Как работает Modern Auth
    – При чём тут Exchange/Skype for Business
    – Картинки с котиками

  2. Сергей Трюхан (Avaya Networking)

    Тема: ВКС Avaya RADvision, 20 лет на боевом посту
    – Ключевые технологии и состав решения
    – Интеграция с UC от Microsoft
    – Популярные внедрения (и вместе посмеемся над традиционными ошибками при разработке и реализации решений ВКС)

Регистрация на встречу как обычно тут.

Обновление2: Записи доступны по ссылкам:
UC². Встреча №18. Димо Илиев. Cильные и слабые стороны KEMP Technologies
UC². Встреча №18. Дмитрий Плохих. Современные общие папки: под капотом

Обновление: мероприятие так же будет проходить в оффлайн-режиме в МТЦ.

Очередная встреча UC² под номером 18 состоится уже через неделю, в последний вторник сентября – 27 числа, как обычно с 18-00 до 21-00. Встреча будет проходить в ОНЛАЙН-режиме. А вот кто будет выступать:

  1. Дмитрий Плохих (Microsoft, PFE Exchange Server)

    Тема: Современные общие папки: под капотом.
    – Обзор архитектуры, отличия от «классических» общих папок
    – Репликация иерархии
    – Клиентский доступ и современные общие папки
    – Поиск неисправностей в работе репликации и клиентском доступе
    – Обзор процесса миграции

  2. Димо Илиев (KEMP Technologies)

    Тема: Cильные и слабые стороны KEMP Technologies согласно “Gartner 2016 Magic Quadrant Application Delivery Controllers”.
    – Аналитика и обзор рынка
    – KEMP Technologies, сильные и слабые стороны согласно “2016 Magic Quadrant Application Delivery Controllers”
    – “Важнейшие возможности”:

    Infrastructure Load Balancing
    Standard Enterprise Apps
    Customized Enterprise Apps
    Mid-Market ADC
    Mode 2 App Development
    Mode 1 / Mode 2 Hybrid ADC

Регистрация на встречу как обычно тут.

Очередная встреча UC² под номером 17 состоится в ближайший вторник 30 августа, как обычно с 18-00 до 21-00. Встреча будет проходить в ОНЛАЙН-режиме. А вот кто будет выступать:

  1. Константин Гузнин, Системный инженер, MCSE

    Тема: Управление доступом на основе ролей (RBAC) в Exchange Server 2016/2013/2010. Основные понятия и примеры использования.
    В докладе будет теория и демонстрации. Константин поделится практическим опытом и своими рекомендациями.

  2. Дмитрий Черников, PFE Skype for Business, Microsoft

    Тема: Устранение проблем клиентских подключений в Skype for Business.
    В данной сессии мы рассмотрим, как происходит подключение клиентов Lync/SfB, средства и способы устранения проблем при подключении.
    Тема (если останется время). Глубокое погружение в Skype Meeting Broadсast.

Регистрация на встречу как обычно тут.

Обновление. Записи доступны по ссылкам:
UC². Встреча №17. Константин Гузнин. Управление доступом на основе ролей (RBAC) в Exchange Server
UC². Встреча №17. Дмитрий Черников. странение проблем клиентских подключений в Skype for Business

Очередная встреча UC² под номером 16 состоится в ближайший вторник 26 июля, как обычно с 18-00 до 21-00. Встреча будет проходить в онлайн-режиме. А вот кто будет выступать:

  1. Михаил Сартаев (MCSE: Messaging, MCSE: Communication), Системный архитектор в компании АйТи

    •Мультитенантность в Exchange:

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

  2. Виктор Овчинников, Технический директор, AudioCodes Enterprise Russia&CIS

    •Least Cost Routing для Cloud PBX и варианты построения централизованной маршрутизации для распределенных компаний.
    •Варианты построения отказоустойчивого офиса Skype For Business. Бюджетное решение отказоустойчивости удаленных офисов для Microsoft UC — AudioCodes One Voice Resiliency.

Регистрация на встречу как обычно тут.

Обновление. Записи доступны по ссылкам:
Встреча UC2 номер 16. Мультитенантность в Exchange. Михаил Сартаев
Встреча UC2 номер 16. Least Cost Routing для Cloud PBX. Виктор Овчинников

Итак, первые серверы у нас установлены. Теперь необходимо их настроить и подготовить к миграции. Все ниже описанные действия выполняются на любом из серверов Exchange 2016.

Ввод серийных номеров

Выполняется командлетами:

"mbx161","mbx162" | Set-ExchangeServer -ProductKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

После этого необходимо перегрузить сервис Microsoft Exchange Information Store.

Invoke-Command -ComputerName mbx161 {Restart-Service MSExchangeIS}

Invoke-Command -ComputerName mbx162 {Restart-Service MSExchangeIS}

Наконец, проверяем, что серверы себя начали считать полноценными:

[PS] C:\>Get-ExchangeServer | ft Name,Edition,IsExchangeTrialEdition -a

Name   Edition    IsExchangeTrialEdition
----   -------    ----------------------
MBX101 Enterprise False
MBX102 Enterprise False
MBX161 Enterprise False
MBX162 Enterprise False

Установка сертификата

Процедура получения и установки сертификатов не поменялась со времени Exchange Server 2010. Запросить/установить сертификат можно как через графический интерфейс EAC, так и через шелл EMS.

Настройка веб-сервисов

Чтобы миграция прошла более гладко настройки веб-сервисов на Exchange 2010 и на Exchange 2016 должны совпадать в части URL, на которые обращаются клиенты.

"mbx161","mbx162" | Get-ExchangeServer | Get-OWAVirtualDirectory | Set-OWAVirtualDirectory 
-InternalURL https://webmail.o365lab.pro/owa -ExternalURL https://owa.o365lab.pro/owa
"mbx161","mbx162" | Get-ExchangeServer | Get-ECPVirtualDirectory | Set-ECPVirtualDirectory 
-InternalURL https://webmail.o365lab.pro/ecp -ExternalURL https://owa.o365lab.pro/ecp
"mbx161","mbx162" | Get-ExchangeServer | Get-OABVirtualDirectory | Set-OABVirtualDirectory 
-InternalURL https://webmail.o365lab.pro/oab -ExternalURL https://owa.o365lab.pro/oab
"mbx161","mbx162" | Get-ExchangeServer | Get-ActiveSyncVirtualDirectory | 
Set-ActiveSyncVirtualDirectory 
-InternalURL https://webmail.o365lab.pro/Microsoft-Server-ActiveSync 
-ExternalURL https://owa.o365lab.pro/Microsoft-Server-ActiveSync
"mbx161","mbx162" | Get-ExchangeServer | Get-WebServicesVirtualDirectory | 
Set-WebServicesVirtualDirectory -InternalURL https://webmail.o365lab.pro/EWS/Exchange.asmx 
-ExternalURL https://owa.o365lab.pro/EWS/Exchange.asmx
"mbx161","mbx162" | Get-ExchangeServer | Get-MapiVirtualDirectory | Set-MapiVirtualDirectory 
-InternalURL https://webmail.o365lab.pro/mapi -ExternalURL https://owa.o365lab.pro/mapi

Кроме этого необходимо на всех серверах включить OA, если не включен, и настроить его на использование NTLM.

Новый DAG

Необходимо создать новый DAG:

New-DatabaseAvailabilityGroup -Name DAG16 
-DatabaseAvailabilityGroupIPAddresses ([System.Net.IPAddress]::None) -WitnessServer MBX101

И добавить в него новые серверы:

Add-DatabaseAvailabilityGroupServer -Identity DAG16 -MailboxServer mbx161
Add-DatabaseAvailabilityGroupServer -Identity DAG16 -MailboxServer mbx162

Далее остался ряд небольших задач, которые завершают настройку:

  • Настроить интеграцию со Skype for Business в OWA, как описано тут
  • Настроить принимающие коннекторы, как они настроены в Exchange 2010
  • Создать в новом DAG новые базы под миграцию почтовых ящиков

Полезные ссылки:
Миграция на Exchange 2016: установка первых серверов
Configure instant messaging integration with Outlook on the web

Итак, предыдущий пост прочитан. Ящик валерьянки закуплен. Можно двигаться дальше.

Балансировщики и общая схема

В качестве подготовительного шага немного добавим правил на существующий балансировщик нагрузки. Предыдущая конфигурация балансировщика на примере Kemp VLM описана здесь. Помимо штатных правил я добавил новый VIP для HTTPS-трафика для Exchange 2010, чтобы избежать проблемы с Ambiguous URLs, а так же добавил новый VIP для HTTPS-трафика сервера Exchange 2016. Табличка с адресами получается следующая:

FQDN VIP Тип трафика
outlook.o365lab.pro 192.168.1.106 RPC
webmail.o365lab.pro 192.168.1.110 2010 HTTPS
192.168.1.108 2016 HTTPS

Картинка с правилами на балансировщике:

ex20161

Сама схема тестовой лабы выглядит примерно следующим образом:

ex20162

Имея эту схему на руках можно приступать к установке серверов Exchange 2016.

Установка пререквизитов

Ставить будем на Windows Server 2012R2. Список поддерживаемых ОС можно посмотреть тут. Предварительно ставим все необходимые компоненты операционной системы:

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, 
RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, 
RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, 
Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, 
Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, 
Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, 
Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, 
Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation

После чего устанавливаются .NET Framework 4.5.2 и Microsoft Unified Communications Managed API 4.0.

После установки всех сопутствующих обновлений и перезагрузки сервера можно начинать устанавливать сам сервер Exchange 2016.

Установка сервера Exchange 2016

В процессе установки сервер подготовит схему, раздел конфигурации и доменные разделы. Более подробно процедуру подготовки со всеми требуемыми правами я описывал тут. Со стороны установщика поменялось только одно – все команды требуют использования ключа /IAcceptExchangeServerLicenseTerms. Таким образом, нам нужно будет запускать следующую последовательность команд:

setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms
setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms

Можно отдельно этого не делать и запускать установщик от учётной записи, входящей в группы Schema Admins и Enterprise Admins. Проверить готовность можно по версиям обновлённых объектов. Список версий можно посмотреть тут.

Сама установка запускается следующим образом:

setup.exe /Mode:Install /Roles:Mailbox   /IAcceptExchangeServerLicenseTerms

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

Set-ClientAccessService -Identity mbx161 
-AutodiscoverServiceInternalURI https://webmail.o365lab.pro/Autodiscover/Autodiscover.xml

После установки второго сервера:

Set-ClientAccessService -Identity mbx162 
-AutodiscoverServiceInternalURI https://webmail.o365lab.pro/Autodiscover/Autodiscover.xml

Серверы можно перегружать.

Полезные ссылки:
Миграция на Exchange 2016: вводные данные и подготовка
Kemp VLM: настраиваем Exchange 2010
Ambiguous URLs and their effect on Exchange 2010 to Exchange 2013 Migrations
Exchange 2016 system requirements
Exchange 2016 prerequisites
Миграция на Exchange 2010: подготовка домена
Prepare Active Directory and domains

Очередная встреча UC² будет совмещена со встречей сообщества IT Pro. В связи с этим встречаемся не в последний вторник месяца, а в последний четверг месяца, то есть 23 июня с 19-00 до 21-30. Встреча будет проходить в Технологическом Центре Microsoft (MTC) и транслироваться средствами Skype for Business Online. А вот кто будет выступать:

  1. Вадим Поданс, “Миграция с SHA1 на SHA2, мифы и реальность”

    В процессе доклада Вадимс опишет проблематику (уязвимость SHA1 на предмет коллизий) и политику вендоров в отношении SHA1. Обозначит стратегии миграции (обновление существующей инфраструктуры или миграция в новый PKI) и какие критерии будут влиять на выбор. А так же расскажет, как планировать и производить миграцию при обновлении существующей инфраструктуры с использованием демонстрации.

  2. Олег Крылов, “Управление Exchange Server с помощью Desired State Configuration”

    В докладе будет рассмотрена концепция применения декларативных конфигураций на базе технологии Desired State Configuration с использованием кастомного модуля PowerShell в условиях on-premise инсталляций. Будут разобраны как технические, так и архитектурные моменты. И все это с живой демонстрацией работы данной концепции.
    Это доклад, который Олег по техническим причинам не успел подготовить для MVP Community Roadshow, проходившем в Санкт-Петербурге 7 июня.

Регистрация на встречу как обычно тут.

Обновление. Записи доступны по ссылкам:
UC². Встреча №15. Олег Крылов. Управление Exchange Server с помощью Desired State Configuration

Давно я не брал в руки шашку. Поэтому миграция будет между крайними версиями 2010 и 2016 с пропуском версии 2013. Схема миграции в основном совпадает со схемой миграции 2007 → 2010. Кратко выглядит следующим образом:

  • Установка первых серверов, формирование DAG, подготовка точек подключения клиентов
  • Переключение клиентов с точек подключения Exchange 2010 на точки подключения Exchange 2016
  • Миграция пользовательских данных
  • Вывод из эксплуатации серверов Exchange 2010

Перед первой фазой категорически приветствуется ознакомление с документацией и пилотная миграция в изолированной среде.

На текущий момент имеются следующие известные проблемы, которые могут попортить кровь в процессе миграции и которых можно избежать в процессе предварительной подготовки:

  • Имеется известная бага/фича в работе приложения Autodiscover в Exchange 2016. Приложение кеширует данные в течение двух часов. Сразу после миграции ящика Autodiscover продолжит отдавать клиенту закэшированные данные со старыми настройками клиента. Это приводит к тому, что клиент Outlook в течение жизни кэша перенаправляется на старый сервер. Обходных путей решения проблемы ровно два:

– делаем вручную или автоматически recycle пула Autodiscover, это приведёт к сбросу кэша и клиент получит новые данные при следующем обращении
– пересоздаём локальный почтовый профиль пользователя

  • В старых версиях Exchange 2010 в инструкциях по планированию очень невнятно описаны рекомендации по планированию пространства имен для разных типов клиентов. В частности, сильно вскользь затронут момент с совпадением fqdn массива серверов CAS (CAS-Array) и точек подключения веб-клиентов (OA). В общем, это не рекомендуется делать. То есть RPC-клиенты будут обращаться к CAS-Array по одному доменному имени, а веб-сервисы должны быть доступны по другому. Если этого не придерживаться, то при миграции мы получим неработающих клиентов на новых серверах, как это описано тут. Связано это с тем, что Exchange 2016 про RPC-клиентов не знает вообще ничего. Всех клиентов он по умолчанию считает веб-клиентами. Сразу после миграции клиент попытается подключиться к CAS-Array (точка подключения для RPC-клиентов) на новом сервере, который про CAS-Array не знает ничего. На этом в общем то всё для клиента и закончится.

Самым правильным в данной ситуации, с моей точки зрения, будет поменять fqdn точки подключения веб-клиентов. Процедура эта проходит прозрачно для клиентов и не требует перезапуска, в отличие от смены fqdn точки подключения RPC-клиентов. По ссылке выше так же указан вариант с принудительным переключением всех клиентов на OA. Мне он нравится меньше, так как требует предварительных подготовительных работ.

  • При использовании связки Windows Server 2008 R2 + Exchange 2010 после миграции ящика может поломаться авторизация клиента. Подробнее проблема описана в следующей статье базы знаний. Там же ссылка на обновление, которое это исправляет.
  • Обновления, обновления, обновления… Обновляем всё до самых последних обновлений. Операционные системы на серверах и клиентах, серверы Exchange до последнего SP и RU, Outlook на клиентах.

Полезные ссылки:
Ambiguous URLs and their effect on Exchange 2010 to Exchange 2013 Migrations
Outlook Anywhere users prompted for credentials when they try to connect to Exchange Server 2013 or Exchange Server 2016