Решение проблемы со службой CDPUserSvc в Windows 10 / Windows Server 2016
12.12.2017
itpro
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 или даже каждые несколько минут появляется ошибка:


В журнале приложений при этом постоянно фиксируются ошибки вида:
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
Что за служба CDPUserSvc и можно ли отключить?
При просмотре фоновых процессов в Диспетчере задач замечаем службу CDPUserSvc, в окончании которой добавлен тег из пяти случайных символов. Узнаем подробно, какую функцию она несет и можно ли ее отключить.

Что это за служба?
«CDPUserSvc» непосредственно относится к службе платформы подключенных устройств (Connected Devices Platform Service). Майкрософт описывает ее как «пользовательскую службу, используемую в сценариях платформы подключенных устройств. К ее имени добавлен тег из пяти символом, которые меняются после перезагрузки.
Такое поведение может вызвать подозрения относительно ее происхождения. Как правило, случайные теги используются вирусами и вредоносными программами для проникновения в компьютер, маскируясь под имена системных процессов. Но нужно отметить, что CDPUserSVC безопасен и не несет в себе вредоносный код.
Одна из основных задач сервиса, как следует из его описания, состоит в том, чтобы упростить соединение с устройствами Bluetooth. Файлы библиотек DLL находятся в папке System32, это означает, что эта функция поставляется предустановленной в Windows 10.
Можно ли отключить?
Если на компьютере или ноутбуке не пользуетесь Bluetooth, то CDPUserSVC можно полностью отключить. По отзывам пользователей, после отключения возникают проблемы с обменом данных по Bluetooth, поэтому если в дальнейшем планируете подключаться по этой беспроводной связи, не забудьте ее включить. Также нужно отметить, что после остановки CDPUserSVC, пользователям удавалось решить проблему с отключением Wi-Fi.
Для отключения откройте системные службы командой services.msc из окна «Выполнить».

Найдите в списке «Connected Devices Platform User Service» и двойным щелчком откройте ее свойства.

Нажмите на кнопку «Остановить», затем установите в типе запуска значение «Отключена».
CDPUserSvc — что это за служба?
Приветствую друзья! В Windows 10 в списке служб можете обнаружить CDPUserSvc — необычная служба, так как окончание у названия часто содержит набор символов.. а окончание самого название, то есть Svc скорее всего идет от процесса Svchost. Уже можно сделать вывод — наверно системная, но это не исключает наличие проблем с ней.
Особенно настораживает описание:
Не удается прочитать описание. Код ошибки: 15100
Если у вас выскакивает ошибка — то.. скорее всего вам поможет отключение. Ниже я нашел два работающих способа. Один — точно поможет вам (99%).
CDPUserSvc — что это?
CDPUserSvc расшифровывается как Connected Devices Platform User Service, переводится как служба платформы подключенных пользовательских устройств. Как видите, моя теория о последнем слове в названии — провалилась, Svc означает Service, а не Svchost.
Читаю в интернете, что запускается либо сама после включения винды, либо если того потребует система.
Зачем нужна? Судя по инфе в интернете — предназначена для синхронизации OneDrive (облако).
Как можно решить ошибку связанную с CDPUserSvc?
Я нашел в сети два вероятных способа. Нет гарантии 100%. Но один из них — скорее всего поможет. Первый способ должен помочь.
Используем реестр
Просто отключить. В интернете также советуют отключение через реестр. Вот только смысл? А смысл в том, что я хотел отключить без реестра — обычно через свойства службы. Но был приличный облом — выскакивала ошибка Параметр задан неверно! Вот нежданчик то!
Поэтому отключаем таки через реестр!
- Зажимаем Win + R, пишем команду regedit, нажимаем ОК. Win + R вызывает окошко Выполнить, его в Windows еще можно запустить просто нажав правой кнопкой по значку Пуск, а там — пункт Выполнить.
- Откроется редактор реестра, переходим по такому пути: HKEY_LOCAL_MACHINE >SYSTEM >CurrentControlSet >Services >CDPUserSvc, ищем строку Start, нажимаем по ней два раза — выставляем значение 4. У вас может быть два CDPUserSvc — еще один с набором символов. Выставляем значение для обоих.
- По сути это трюк, ибо данный раздел реестра отображает настройки те, который в свойствах службы, однако там.. как я уже выяснил — отключение не работает.

У меня нашлось два раздела:

В параметре Start в поле Значение устанавливаем циферку 4:

Так делаем для обоих CDPUserSvc.
Я это проделал и у себя. Потом выполнил перезагрузку. Проверил — реально служба отключилась:

Так что пробуйте, должно получиться и у вас!
Как вы уже понимаете, таким образом можно отключить и другие службы.. но все таки лучше использовать стандартный способ.
Служба CDPUserSvc[…] в ОС Windows 10. Вредоносная служба? Нет – не вредоносный шпион от Microsoft))).

При этом, есть примеры того, как пользователи отключали/удаляли данную службу и у них не наблюдались проблемы с Bluetooth. Поэтому, действуйте аккуратно и создавайте резервные копии. Если вы, удалили службы и ищите как восстановить удаленную службу Windows 10, есть заметка от 29.07.2020, где есть информация о том, как восстановить удаленную службу в ОС Windows 10.
На форумах есть информация о том, что без службы CDPUserSvc – не работают настройки для «Журнал действий». Также, есть не проверенное сообщение о том, что при отключении службы CDPUserSvc, могут возникать проблемы с Bluetooth.



sc delete DiagTrack
sc delete dmwappushservice
sc delete WerSvc
sc delete CDPUserSvc
sc delete CDPUserSvc_xxxxx
sc delete OneSyncSvc
sc delete OneSyncSvc_xxxxx
sc delete MessagingService
sc delete CDPUserSvc
sc delete CDPUserSvc_xxxxx
@echo off
call :RusLocale
openfiles > nul 2>&1
if not %errorlevel% equ 0 goto NotAdmin
goto Continue
:Continue
call :RemoveService DiagTrack
call :RemoveService dmwappushservice
call :RemoveService WerSvc
call :RemoveService OneSyncSvc
call :RemoveService PimIndexMaintenanceSvc
call :RemoveService UnistoreSvc
call :RemoveService UserDataSvc
call :RemoveService MessagingService
call :RemoveService WpnUserService
call :RemoveService DevicesFlowUserSvc
call :RemoveService CDPUserSvc
:End
@pause > nul
exit
:RemoveService
echo.=== %1 ===
echo.%ATTEMPTTODELETE% %SERVICE% %1
for /f «tokens=1,4» %%x in (‘sc query %1’) do (
if «%%x»==»STATE» (
if «%%y»==»RUNNING» (
echo.%SERVICE% %1 %RUNNING%
)
if «%%y»==»STOPPED» (
echo.%SERVICE% %1 %STOPPED%
)
call :DeleteService %1
) else (
if «%%x»==»‘®бв®пЁҐ» (
if «%%y»==»RUNNING» (
echo.%SERVICE% %1 %RUNNING%
)
if «%%y»==»STOPPED» (
echo.%SERVICE% %1 %STOPPED%
)
call :DeleteService %1
)
)
if «%%x»==»[SC]» (
if «%%y»==»1060:» (
echo.%SERVICE% %1 %NOT% %PROCESSED% [%ABSENT%]
)
if «%%y»==»5:» (
echo.%SERVICE% %1 %NOT% %PROCESSED% [%ABORT%]
)
)
)
echo.———————————
echo.
exit /b
:DeleteService
for /f «tokens=*» %%I in (‘reg query «HKLM\SYSTEM\ControlSet001\Services» /k /f «%1» ^| find /i «%1″‘) do (
set /a found+=1
set str=%%I
if «%str%» equ «» (
sc delete %1 > nul
echo.%BLOCKED% %1 %INREGISTRY%
reg add «%%I» /v «Start» /t REG_DWORD /d 4 /f
) else (
for /f «usebackq delims=\ tokens=5*» %%a in (`echo %%I`) do (
sc delete %%a > nul
echo.%BLOCKED% %%a %INREGISTRY%
reg add «%%I» /v «Start» /t REG_DWORD /d 4 /f
)
)
)
echo.%SERVICE% %1 %PROCESSED%.
exit /b
:RusLocale
chcp 1251 > nul
set NOTADMIN1=НЕТ ПРАВ АДМИНИСТРАТОРА.
set NOTADMIN2=Нажми правую кнопку мышки и выбери «Запуск от имени администратора»
set RUNNING=ВЫПОЛНЯЕТСЯ
set STOPPED=ОСТАНОВЛЕН
set ABSENT=ОТСУТСТВУЕТ
set ABORT=ОТКАЗАНО В ДОСТУПЕ
set SERVICE=СЕРВИС
set PROCESSED=ОБРАБОТАН
set NOT=НЕ
set ATTEMPTTODELETE=ПОПЫТКА УДАЛИТЬ
set BLOCKED=БЛОКИРУЕМ ЗАПУСК СЕРВИСА
set INREGISTRY=В РЕЕСТРЕ
chcp 866 > nul
exit /b
Для блокировки отправки телеметрии, рекомендую воспользоваться утилитой:
Она позволяет быстро, безопасно и просто заблокировать, и отключить часть ненужных функций системы, которые никак не влияют на производительность ОС в целом.
Советую также использовать сетевой экран https://binisoft.org/wfc в режиме «Умеренная фильтрация» или «Строгая фильтрация». Таким образом, вы сможете заблокировать большую часть телеметрии.
Параллельно, воспользуйтесь мощным и бесплатным решением https://www.comss.ru/page.php?id=569
С агрессивными настройками, он позволяет блокировать большую часть телеметрии Google, Microsoft и другого софта (который пытается связаться с серверами своих «хозяев»).
Ознакомьтесь также, пожалуйста, с данной информацией:
Один из пользователей пожаловался в комментарии, что после использования bat-файла, у него перестал работать Bluetooth. Выше, внес изменение в заметку от 24.05.2020.
Суть всей этой ситуации в том ,что нужно делать резервные копии при любых вмешательствах в систему. Более того, не нужно использовать те решения в которых мы не разбираемся или не уверенны. Для этого, можно уточнить в комментариях. Также, нужно читать и исследовать информацию, прежде чем её использовать. И снова резервные копии. Без них, пожалуйста, ни в коем случае, не делайте никаких изменений в систему.
И последнее. Отключение данных служб, необходимо далеко не всем. Например, если вы, отключите только службу CDPSvc, это не решит вопрос с телеметрией. В плане быстродействия, тоже не прибавит прироста в производительности, так как у Microsoft есть и другие службы, которые собирают и отправляют телеметрию и нагружают систему. Соответственно, нужно подходить комплексно и отключать все, что связанно с телеметрией. Вы готовы к проблемам и экспериментам?
Что касается замечания в комментарии от человека по поводу службы DevicesFlowUserSvc.
Данная служба, автоматически изменяет тип ввода в зависимости от режима работы устройства. Есть устройства два в одном, например ноутбук, который легко может стать планшетом. И если для ноутбука в основном используется мышка/тачпад и клавиатура, то для планшета — сенсорный экран. И чтобы оптимизировать ввод данных и нужна служба DevicesFlowUserSvc. В теории можно отключить данную службу и это не должно вызвать проблем. Конечно, если у вас именно такой ноутбук, который можно превратить в планшет, то некоторые настройки ввода возможно придется производить вручную.
Сама служба работает под процессом svchost.exe, который запускается из системной папки с таким параметром:
C:\Windows\system32\svchost.exe -k DevicesFlow
Использует в работе библиотеку:
При этом, на момент написания bat-файла, данная служба не имела никакого отношения к настройкам Bluetooth. Сейчас, глянул в описание данной службы в ОС Windows 2004 и вижу, что есть упоминание про Bluetooth. Поэтому, как уже замечено человеком в комментарии, если вы пользуетесь Bluetooth, то лучше не отключайте данную службу. При этом, делайте РЕЗЕРВНЫЕ копии системы, реестра и создавайте точки восстановления перед любыми манипуляциями.
Ведь проблема в том ,что завтра, кто-то напишет, что у него после отключения/удаления какой-то службы, что-то перестало работать. Ведь есть люди, которые используют стандартный календарь Windows, а при отключении службы UnistoreSvc, он может не функционировать. И кто будет виноват в этом случае? Также, как в случае со службой DevicesFlow, которая отвечает за «превращение» ноутбука в планшет и обратно, каким-то образом теперь связанна и с Bluetooth. Соответственно, снова возвращаемся к необходимости создавать резервные копии перед любыми манипуляциями/изменениями в системе.