После установки ноябрьских обновлений безопасности на Windows 10 / Windows Server 2016, от пользователей стали поступать жалобы на проблемы с постоянными падениями службы CDPUserSvc. В этой статье мы разберемся с тем, что такое служба CDPUserSvc, почему она периодически прекращает работу, как исправить эту проблему и можно ли отключить службу CDPUserSvc в Windows 10.
Служба CDPUserSvc впервые появилась в Windows 10 и с самого начала она вызывает у пользователей множество вопросов и создает ряд проблем.
Ошибка Прекращена работа программы CDPUserSvc_xxxxx
Относительно недавно некоторые пользователи Windows 10 / Windows Server 2016 стали жаловаться, что при загрузке, выключении Windows 10 или даже каждые несколько минут появляется ошибка:
В журнале приложений при этом постоянно фиксируются ошибки вида:
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:
На компьютерах с 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, то можно обнаружить что в ее описании содержится текст:
Почему это происходит – не понятно.
Официальной информации о данной службе от Microsoft мне найти не удалось. Если произвести анализ соединений службы CDPUserSvc, можно обнаружить, что данная служба периодически подключается к серверам Microsoft и OneDrive и отправляет какие-то данные по HTTPS. Посмотрим, как выглядит процессы, запускаемые в группе UnistackSvcGroup. Для этого в Process Explorer откроем свойства процесса svchost.exe и посмотрим его свойства.
В рамках этого процесса запущены пять служб (обратите внимание, что все они в имени содержат одинаковый с CDPUserSvc пятизначный идентификатор:
- CDPUserSvc_6b511 – наш клиент
- OneSyncSvc_6b511 — отвечает за синхронизацию почты, контактов, календаря и других данных пользователя
- PimIndexMaintenanceSvc_6b511 – служба индексации контактов для быстрого поиска
- UnistoreSvc_6b511 – хранит структурированные данные пользователя (контакты, календаря, почту)
- UserDataSvc_6b511 – обеспечивает доступ к структурированным данным пользователя
Судя по всему, служба CDPUserSvc также отвечает за синхронизацию данных пользователя с серверами MSFT (телеметрия? А оно вам надо?). Поэтому службу CDPUserSvc можно без особого ущерба для ОС отключить (если, конечно вы не пользуетесь нативными контактами, почтой и календарем Windows 10).
Изоляция процесса CDPUserSvc
Еще одним решением, которое должно исправить проблему постоянного падения службы CDPUserSvc_xxxxx, является ее запуск в изолированным режиме. Для этого в командной строке с правами администратора, выполните команду:
sc config cdpusersvc type= own
Сервис CDPuserSvc после этого должен начать запускаться в собственном процессе svchost.exe. Проверьте, исчезнет ли после этого проблема падения службы CDPuserSvc. Если нет – попробуйте отключить ее.
Как отключить службу CDPUserSvc
Если в консоли управления службами (services.msc) попробовать вручную остановить службу CDPUserSvc_6b511 и перевести ее в состояние Отключена, через какое-то время она включится опять (с другим именем).
Запретить запуск службы можно через реестр, для чего в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CDPUserSvc нужно изменить значение параметра Start с 2 (Автоматический запуск) на 4 (Отключена).
Или выполнить команды:
sc config CDPUserSvc start= disabled
reg add "HKLM\SYSTEM\CurrentControlSet\Services\CDPUserSvc /v "Start" /t REG_DWORD /d "4" /f