Рішення проблеми зі службою CDPUserSvc в Windows 10 / Windows Server 2016

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

Служба CDPUserSvc вперше з'явилася в Windows 10 і з самого початку вона викликає у користувачів безліч питань і створює ряд проблем.

зміст:

  • Помилка Припинена робота програми CDPUserSvc_xxxxx
  • Навіщо потрібна служба CDPUserSvc?
  • Ізоляція процесу CDPUserSvc
  • Як відключити службу CDPUserSvc

Помилка Припинена робота програми 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. Виникла проблема привела до припинення роботи програми. Закрийте цю програму.

В журналі додатків при цьому постійно фіксуються помилки виду:

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, то можна виявити що в її описі міститься текст:

"Неможливо прочитати опис. Код помилки: 15100 "" Failed to Read Description. Error Code: 15100 "

Чому це відбувається - не зрозуміло.

Офіційної інформації про дану службу від 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 і перевести її в стан Відключено, через якийсь час вона включиться знову (з іншим ім'ям).

Примітка. Що цікаво, якщо видалити цю службу з реєстру, через деякий час вона знову з'явиться, але вже з іншим ім'ям. Тобто система намагається запобігти видалення цієї служби (Microsoft схоже застосовує кращі практики вірусів 🙂).

Заборонити запуск служби можна через реєстр, для чого в гілці реєстру 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