Как KB4045655 убило мой Exchange 2016

Была у меня задача обновить тривиальную инсталляцию Exchange 2016 CU5 до CU7. Один контроллер домена на отдельном сервере, один сервер Exchange, операционная система Windows Server 2016. CU7 установился без проблем, правда устанавливался около двух часов, несмотря на то, что использовались SSD-диски. Все тесты прошли успешно и с чувством глубокого удовлетворения я отправился спать. Просыпаюсь я утром, пробую войти в OWA - сайт недоступен... Запускаю Outlook - ошибка подключения... Захожу на сервер и наблюдаю такую картину - все службы Exchange остановлены и находятся в состоянии Disabled. Оба-на...
Смотрю журналы, что было ночью, и выясняется, что через Windows Update прилетело обновление Security Update For Exchange Server 2016 CU7 (KB4045655), его установка прошла неудачно.
Решил попробовать скачать обновление и установить вручную. Установка завершается неудачей, установщик сообщает, что изменений произведено не было.
Перевожу все необходимые службы Exchange в состояние Automatic, перезагружаю сервер, однако службы не стартуют - "The service did not respond to the start or control request in a timely fashion". Супер, отличный подарок на 23 февраля, я просто мечтал получить полностью нерабочий Exchange и провозиться с ним весь праздничный день :evil:  
Пробую установить обновление повторно - попытка также оканчивается неудачей, при этом установка прерывается на моменте "Stopping services".
Решаю погуглить и обнаруживаю, что проблема такая, оказывается, не у меня одного, и не только с этим обновлением  :D
Как выяснилось, причина неудачи установки обновления в том, что для остановки служб используется командлет Stop-SetupService, которого нет в системе по умолчанию. Наблюдать это можно открыв  C:\ExchangeSetupLogs\ServiceControl.log и обнаружив там сообщение об ошибке "The term 'Stop-SetupService' is not recognized as the name of a cmdlet, function, script file, or operable program."

2018-02-24_1433.png

Проблема решается путем добавления профиля PowerShell с ярлыком Stop-SetupService: New-Alias Stop-SetupService Stop-Service. После этого установка обновления проходит без проблем и после перезагрузки сервера все службы стартуют нормально и работа Exchange полностью восстанавливается. Фууух...  :)

Порядок действий следующий:

1. Переводим все необходимые службы Exchange в состояние Automatic согласно списку тут https://technet.microsoft.com/ru-ru/library/ee423542%28v=exchg.160%29.aspx?f=255&MSPPError=-..., а также службы IIS Admin Service, Microsoft Filtering Management Service и World Wide Web Publishing Service

2. Загружаем с сайта Microsoft вручную Security Update For Exchange Server 2016 CU7 (KB4045655), файл Exchange2016-KB4045655-x64-en.msp https://www.microsoft.com/en-US/download/details.aspx?id=56331

3. Создаем файл "profile.ps1" в каталоге "C:\Windows\System32\WindowsPowerShell\v1.0", содержащий следующую команду:

New-Alias Stop-SetupService Stop-Service

4. Запускаем командную строку с повышением (от имени администратора) и запускаем из нее обновление Exchange2016-KB4045655-x64-en.msp. Запуск с повышением нужен потому, что если так не сделать, то иногда случается, что после установки перестает работать OWA и ECP.

5. После успешной установки перезагружаем сервер по запросу инсталлятора и, вуаля, получем снова рабочий Exchange  8)


Вот такие сырые и не до конца отлаженные обновления могут иногда прилететь от Microsoft через Windows Update... Будьте внимательны и разворачивайте обновления и CU вначале в тестовой среде, и только потом в рабочей. Успехов!


Полезные ссылки:

1. Загрузка KB4045655, known issues https://support.microsoft.com/en-us/help/4045655/description-of-the-security-update-for-microsoft-ex...
2. Обзор служб Exchange 2016 https://technet.microsoft.com/ru-ru/library/ee423542%28v=exchg.160%29.aspx?f=255&MSPPError=-...
3. Решение аналогичной проблемы с KB4036108 https://social.technet.microsoft.com/Forums/en-US/5e6badad-6f5b-4f98-bd80-aa38eebfe0dd/kb4036108-pat...
4. Вариант решения проблемы https://info.summit7systems.com/blog/exchange-services-patch-fix-kb4045655
5. OWA и ECP не работают после установки KB4045655 https://www.server-essentials.com/support/articleid/167/owa-status-code-500-and-ecp-could-not-load-f...