среда, 30 сентября 2015 г.

Ошибка при обновлении Exchange 2013 "Cannot start service MSExchangeServiceHost on computer"



Столкнулся я с проблемой. После того, как я установил один из серверов в DAG и забыл его активировать, появилась проблема - по истечении триального периода все службы Exchange стали периодически отправляться в статус "Disabled". Активация ключа не помогла, хоть редакция отображалась корректно:

[PS] C:\Windows\system32>Get-ExchangeServer -Identity MBX03 | fl Edition

Edition : Enterprise


Решил я, раз такое дело, обновить сервер до CU10. Но не тут то было. Каждая попытка обновления заканчивалась ошибкой:

Configuring Microsoft Exchange Server
    Restoring Services                                        COMPLETED
    Mailbox role: Transport service                           FAILED
     The following error was generated when "$error.Clear();
        if (get-service MSExchangeServiceHost* | where {$_.name -eq "MSExchangeS
erviceHost"})
        {
            restart-service MSExchangeServiceHost
        }
        " was run: "Microsoft.PowerShell.Commands.ServiceCommandException: Servi
ce 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started d
ue to the following error: Cannot start service MSExchangeServiceHost on compute
r '.'. ---> System.InvalidOperationException: Cannot start service MSExchangeSer
viceHost on computer '.'. ---> System.ComponentModel.Win32Exception: The service
 cannot be started, either because it is disabled or because it has no enabled d
evices associated with it
   --- End of inner exception stack trace ---
   at System.ServiceProcess.ServiceController.Start(String[] args)
   at Microsoft.PowerShell.Commands.ServiceOperationBaseCommand.DoStartService(S
erviceController serviceController)
   --- End of inner exception stack trace ---".

The Exchange Server setup operation didn't complete. More details can be found
in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.

Дело в том, что пока шло обновление, службы снова что-то переключало в "Disabled". В событиях не нашел ничего интересного - только EventId 7040 вида:

The start type of the Microsoft Exchange ХХХ service was changed from disabled to auto start.

Поиск по всемирной паутине ни к чему не привел, пришлось импровизировать. Перед запуском обновления запустил в отдельном окне PowerShell строку:

While (1 -eq 1) {get-service | ?{$_.DisplayName -LIKE "Microsoft Exchange*" -OR $_.Name -EQ "FMS"} | Set-Service -StartupType auto}

Таким образом удалось успешно завершить обновление, ошибка с отваливающимися службами была устранена. Теперь желательно перевести запуск двух служб в ручной режим (так они работают по умолчанию):


Set-Service MSExchangeHM -StartupType manual; Set-Service wsbexchange -StartupType manual

Вот и все, старайтесь активировать серверы своевременно :)















2 комментария:

  1. Чел!!!!! Ты сделал мой день, полный страданий!!! Спасибо огромное!!!
    Как могла суперпупер мегамягкая корпорация делать такие кривые обновления, которые сами загоняют сервисы в дизабле, а потом ругаться, что перестартовать не могут... у меня нет слов!

    ОтветитьУдалить
    Ответы
    1. Был установлен exch 2016 cu12, на которые через WU на которое прилетело обновление безопасности для exch, которое отправило все сервисы в дизабле, после чего ручное обновление cu23 не проходило, даже когда ручками все сервисы возвращены обратно, и я почти дошел до идеи ручками исправлять запуск, но ручками не успеть, а скрипт - помог! Еще раз спасибо

      Удалить