Панель инструментов Windows SBS 2011 + Windows Server * Службы не запускаются из-за службы реестра поставщика услуг Windows Server

У меня есть Windows Server SBS 2011 Box с некоторыми странными проблемами, связанными с реестром поставщика услуг Windows Server. У ряда служб Windows Server возникли проблемы с запуском, и я проследил его до этой службы. Это зависимости запускаются и работают без ошибок, которые я вижу.

Это ошибка, которую я получаю, когда пытаюсь запустить службу:

Error 1067: The process terminated unexpectedly.

Ошибки просмотра событий перечислены ниже (2)

https://i.imgur.com/1vD6lsF.png

И ошибка.Net:

Source: .Net Runtime
Event ID: 1025

Application: ProviderRegistryService.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: Unhandled exception in OnStart: System.InvalidOperationException: Service ServiceRegistryProvider was not found on computer '.'. ---> System.ComponentModel.Win32Exception: The specified service does not exist as an installed service
   --- End of inner exception stack trace ---
   at System.ServiceProcess.ServiceController.GenerateNames()
   at System.ServiceProcess.ServiceController.get_DisplayName()
   at Microsoft.WindowsServerSolutions.Common.ServiceUtility.GetDisplayName(String serviceName)
   at Microsoft.WindowsServerSolutions.Common.ProviderFramework.ProductConfigurator.LogServiceStartFailure(String serviceName, String info)
   at Microsoft.WindowsServerSolutions.Common.ProviderFramework.ProviderRegistry.ServiceShell.OpenHost()
   at Microsoft.WindowsServerSolutions.Common.Services.WssgServiceBase.OnStart(String[] args)
Stack:
   at System.Environment.FailFast(System.String, System.Exception)
   at Microsoft.WindowsServerSolutions.Common.Services.WssgServiceBase.OnStart(System.String[])
   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

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

Недавно я запустил SFC-сканирование файла и всего сервера, которые не возвращали ошибок. То, что я ищу, так это то, нужно ли мне пытаться переустановить службу или это может быть ошибка.Net и т. Д. Любая помощь будет принята с благодарностью.

1 ответ

У меня тоже была эта проблема, однако я нашел ветку TechNet, которая действительно помогла мне найти решение этой проблемы. По сути, проблема заключалась в том, что каким-то образом сертификат удостоверения сервера был удален из хранилища сертификатов, и его необходимо было восстановить. Отсутствие сертификата приводит к сбою службы "Реестр поставщиков служб Windows Server", что, в свою очередь, также приводит к сбою нескольких других зависимых служб.

Я повторно отправлю то же самое, что я поместил в нити TechNet ниже. Надеюсь, это кому-нибудь поможет!

У меня была точно такая же проблема! Большое спасибо, Роберт, за публикацию ссылки на этот сценарий! Это действительно удивительный сценарий Powershell.

У меня были все те же ошибки, о которых упоминал AK772, но я решил увеличить другую проблему, указанную в сценарии. Когда я запустил шаг "Test CA Infrastructure", он обнаружил несколько ошибок. Когда я посмотрел, что там делал скрипт, он сравнивал отпечаток сертификата сервера в реестре (HKLM:\Software\Microsoft\Windows Server\Identity) с личными сертификатами (личные сертификаты в оснастке "Сертификат" с использованием MMC). Когда я просматривал их по отдельности, в моем хранилище сертификатов действительно не было отпечатка в реестре. Я понятия не имею, как это могло произойти!

Однако оттуда я изменил критерии поиска в Google и нашел следующую отличную статью: http://titlerequired.com/2013/04/29/windows-server-2012-essentials-an-error-prevented-the-dashboard-from-opening/

Это больше рассказывало об этой ошибке и показывало, как восстановить сертификат в реестре. Это полностью спасло меня! После того, как я выполнил шаги, которые он обрисовал в общих чертах, даже при том, что в конце я получил сообщение об ошибке тайм-аута, я увидел, что отпечаток сертификата изменился в реестре и теперь существует в моем личном хранилище сертификатов.

Когда я увидел это, я попытался зайти в службы и вручную запустить остановленную службу "Реестр поставщиков служб Windows Server". Конечно же, все началось, на этот раз без ошибок. Наконец, я перезапустил сервер, чтобы все остальные зависимые сервисы снова включились и снова запустили связанный скрипт, и все было идеально.

Другие вопросы по тегам