Решение проблемы со службой CDPUserSvc в Windows 10 / Windows Server 2016

После установки ноябрьских обновлений безопасности на Windows 10 / Windows Server 2016, от пользователей стали поступать жалобы на проблемы с постоянными падениями службы CDPUserSvc. В этой статье мы разберемся с тем, что такое служба CDPUserSvc, почему она периодически прекращает работу, как исправить эту проблему и можно ли отключить службу CDPUserSvc в Windows 10.

Служба CDPUserSvc впервые появилась в Windows 10 и с самого начала она вызывает у пользователей множество вопросов и создает ряд проблем.

Ошибка Прекращена работа программы CDPUserSvc_xxxxx

Относительно недавно некоторые пользователи Windows 10 / Windows Server 2016 стали жаловаться, что при загрузке, выключении Windows 10 или даже каждые несколько минут появляется ошибка:

CDPUserSvc_xxxxx has stopped working. A problem caused the program to stop working correctly. Close the Program

CDPUserSvc_xxxxx has stopped working

Прекращена работа программы CDPUserSvc_xxxxx. Возникшая проблема привела к прекращению работы программы. Закройте эту программу.

Ошибка Прекращена работа программы CDPUserSvc_xxxxx

В журнале приложений при этом постоянно фиксируются ошибки вида:

Faulting application name: svchost.exe_CDPUserSvc_2ce84fe, version: 10.0.14393.0, time stamp: 0x57899b1c
Faulting module name: cdp.dll, version: 10.0.14393.1715, time stamp: 0x59b0d38c
Exception code: 0xc0000005
Fault offset: 0x0000000000193cf5
Faulting process id: 0x4484
Faulting application start time: 0x01d35ebff3f9a7f5
Faulting application path: C:\WINDOWS\system32\svchost.exe
Faulting module path: c:\windows\system32\cdp.dll
Report Id: f7159168-5104-440e-34c1-6b42ed6649ee
Faulting package full name:
Faulting package-relative application ID:

Faulting application name: svchost.exe_CDPUserSvc_2ce84fe

На компьютерах с Windows 10 эта ошибка стала появляться у некоторых пользователей после установки обновления Anniversary Update (1607). В этом случае стоит попробовать запустить службу CDPUserSvc в изолированном процессе, либо же совсем ее отключить (об этом ниже).

В большинстве же случаев этот баг вызван ноябрьским обновлением KB4048953 для Windows Server 2016 и Windows 10.

Если данное обновление у вас присутствует, чтобы избавится от данной проблемы, достаточно корректно удалить обновление KB4048953 (wusa.exe /uninstall /kb:4048953), либо дождаться выхода декабрьского пакета накопительных обновлений, в котором баг обещали пофиксить.

Зачем нужна служба CDPUserSvc?

Служба CDPUserSvc (Connected Devices Platform User Service / служба платформы подключенных пользовательских устройств). Само имя службы является динамическим и состоит из строки CDPUserSvc_ и 5 случайно сгенерированных символов (в моем примере это CDPUserSvc_6b511).

В различных билдах Windows 10 служба CDPUserSvc имеет разный тип запуска

  • В Windows 10 1507 – ручной тип запуска
  • 1511 – служба отключена
  • 1607, 1703, 1709 – тип запуска Автоматический

Служба запускается в рамках процесса svchost: svchost.exe -k UnistackSvcGroup

Исполняемый файл: %WinDir%\System32\CDPSvc.dll

Что интересно, если открыть консоль со списком служб (Services.msc) задач и найти службу CDPUserSvc, то можно обнаружить что в ее описании содержится текст:

“Не удается прочитать описание. Код ошибки: 15100»
“Failed to Read Description. Error Code: 15100”

CDPUserSvc Не удается прочитать описание. Код ошибки: 15100

Почему это происходит – не понятно.

Официальной информации о данной службе от Microsoft мне найти не удалось. Если произвести анализ соединений службы CDPUserSvc, можно обнаружить, что данная служба периодически подключается к серверам Microsoft и OneDrive и отправляет какие-то данные по HTTPS. Посмотрим, как выглядит процессы, запускаемые в группе UnistackSvcGroup. Для этого в Process Explorer откроем свойства процесса svchost.exe и посмотрим его свойства.

В рамках этого процесса запущены пять служб (обратите внимание, что все они в имени содержат одинаковый с CDPUserSvc пятизначный идентификатор:

  • CDPUserSvc_6b511 – наш клиент
  • OneSyncSvc_6b511  — отвечает за синхронизацию почты, контактов, календаря и других данных пользователя
  • PimIndexMaintenanceSvc_6b511 – служба индексации контактов для быстрого поиска
  • UnistoreSvc_6b511 – хранит структурированные данные пользователя (контакты, календаря, почту)
  • UserDataSvc_6b511 – обеспечивает доступ к структурированным данным пользователя

CDPUserSvc-UnistackSvcGroup-svchost.exe

Судя по всему, служба CDPUserSvc также отвечает за синхронизацию данных пользователя с серверами MSFT (телеметрия? А оно вам надо?). Поэтому службу CDPUserSvc можно без особого ущерба для ОС отключить (если, конечно вы не пользуетесь нативными контактами, почтой и календарем Windows 10).

Изоляция процесса CDPUserSvc

Еще одним решением, которое должно исправить проблему постоянного падения службы CDPUserSvc_xxxxx, является ее запуск в изолированным режиме. Для этого в командной строке с правами администратора, выполните команду:

sc config cdpusersvc type= own

sc config cdpusersvc type= own

Сервис CDPuserSvc после этого должен начать запускаться в собственном процессе svchost.exe. Проверьте, исчезнет ли после этого проблема падения службы CDPuserSvc. Если нет – попробуйте отключить ее.

Как отключить службу CDPUserSvc

Если в консоли управления службами (services.msc) попробовать вручную остановить службу CDPUserSvc_6b511 и перевести ее в состояние Отключена, через какое-то время она включится опять (с другим именем).

Примечание. Что интересно, если удалить данную службу из реестра, через некоторое время она опять появится, но уже с другим именем. Т.е. система пытается предотвратить удаление этой службы (Microsoft похоже применяет лучшие практики вирусописателей 🙂 ).

Запретить запуск службы можно через реестр, для чего в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CDPUserSvc нужно изменить значение параметра Start с 2 (Автоматический запуск) на 4 (Отключена).

отключить службу CDPUserSvc

Или выполнить команды:

sc config CDPUserSvc start= disabled
reg add "HKLM\SYSTEM\CurrentControlSet\Services\CDPUserSvc /v "Start" /t REG_DWORD /d "4" /f


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)