修复:CDPUserSvc已停止在Windows 10/Windows Server 2015中工作

时间:2020-01-09 10:46:24  来源:igfitidea点击:

在Windows 10/Windows Server 2015上安装了最新的安全更新后,用户开始抱怨 CDPUserSvc服务的持续故障。在这篇文章中,我们将了解CDPUserSvc服务是什么,为什么它会周期性地意外终止,如何解决这个问题,以及是否可以在Windows 10/Windows Server 2015中禁用此服务。

CDPUserSvc服务最早出现在windows10中,从一开始就给用户带来了很多问题,也带来了很多问题。

错误:CDPUserSvc_xxxxx已停止工作

最近,一些Windows 10/Windows Server 2015用户开始抱怨在Windows启动、关闭甚至每隔几分钟出现一次以下错误:

Faulting application name: svchost.exe_CDPUserSvc_12cff5, 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: 

CDPUserSvc_xxxxx已停止工作。一个问题导致程序停止正常工作。关闭程序。

在应用程序日志中,经常出现这样的错误:

错误应用程序名称:svchost.exe_CDPUserSvc_12cff5,版本:10.0.14393.0,时间戳:0x57899b1c

错误模块名称:cdp.dll,版本:10.0.14393.1715,时间戳:0x59b0d38c

异常代码:0xc0000005

故障偏移量:0x0000000000193cf5

错误进程id:0x4484

错误应用程序启动时间:0x01d35ebff3f9a7f5

错误的应用程序路径:C:\WINDOWS\system32\主进程

错误模块路径:c:\windows\system32\cdp.dll

报告编号:f7159168-5104-440e-34c1-6b42ed6649ee

错误包全名:

错误的包相关应用程序ID:

在Windows10计算机上,一些用户在安装周年更新(1607)或者Fall Creators Update(1709)后报告此错误。在这种情况下,我们应该尝试在一个独立的进程中启动CDPUserSvc服务,或者完全禁用它(见下文)。

在大多数情况下,此错误是由11月份的Windows Server 2015和Windows 10更新 KB4048953引起的。

如果我们安装了此更新,要解决此问题,只需正确卸载KB4048953更新就足够了(

wusa.exe /uninstall /kb:4048953

)或者等待下一个累积更新包,在这个更新包中bug应该被修复。

什么是CDPUserSvc服务?

CDPUserSvc指连接设备平台用户服务。服务的全名是动态的,由字符串 CDPUserSvc和5个随机生成的字符组成(在我的示例中,它是CDPUserSvc_65bd2)。

在不同的Windows 10版本中,CDPUserSvc有不同的启动类型:

在Windows 10 1507中—手动启动;

1511年,该服务被禁用;

1607、1703、1709、1803——启动型自动。

sc query| find "CDPUser"
sc query CDPUserSvc_65bd2

服务在svchost进程中启动:

svchost.exe -k UnistackSvcGroup

可执行文件是

%WinDir%\System32\CDPSvc.dll

有趣的是,如果打开带有服务列表的控制台(服务.msc)找到CDPUserSvc,你会看到描述中有以下文本:

“无法读取说明。错误代码15100“

不清楚为什么会这样。

我找不到微软关于这项服务的任何官方信息。如果我们分析CDPUserSvc连接,我们会发现此服务定期连接到Microsoft和OneDrive服务器,并通过HTTPS发送一些数据。让我们看看unistacksvgroup中运行的进程是什么样子的。要执行此操作,请运行Process Explorer,打开svchost.exe属性并查看它们。

此进程中正在运行五个服务(请注意,所有服务都包含与CDPUserSvc相同的5个字符标识符):

CDPUserSvc_xxxxx

OneSyncSvc_xxxxx——负责邮件、联系人、日历等用户数据的同步;

PimIndexMaintenance SVC_xxxxx——是联系人索引服务,用于更快的搜索;

UnistoreSvc_xxxxx–存储结构化用户数据(联系人、日历、邮件);

UserDataSvc_xxxxx–提供对结构化用户数据的访问。

CDPUserSvc很可能还负责用户数据与MSFT服务器的同步。(是遥测吗?你真的需要它吗?)因此,CDPUserSvc可能被禁用而不会对操作系统造成任何损害(当然,如果我们不使用本机的windows10联系人、邮件和日历应用程序的话)。

CDPUserSvc隔离

另一个应该解决持续的CDPUserSvc_xxxxx服务崩溃问题的解决方案是以隔离模式运行它。要执行此操作,请在提升的命令提示符下运行以下命令:

sc config cdpusersvc type= own
[SC] ChangeServiceConfig SUCCESS

在那之后,CDPuserSvc将自己启动svchost.exe过程。检查CDPuserSvc故障是否仍然存在。如果是,请尝试禁用该服务。