如何查询winlogon通知订阅对应的进程/EXE以排查登录延迟问题
解决方法
方法1:注册表查询(系统原生,无需额外工具)
Winlogon通知订阅者的所有注册信息都存储在注册表固定路径下,执行以下命令即可导出全部订阅者的完整配置:
- 64位系统原生订阅者查询命令:
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notifications" /s - 32位程序注册的订阅者查询命令(64位系统适用):
reg query "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon\Notifications" /s
返回结果中每个子项对应一个独立订阅者,其中DllName键值为该订阅者的承载模块路径,Event相关键值为其订阅的事件ID列表。
你遇到的<Profiles>订阅者为系统内置的用户配置文件服务,对应模块路径为%SystemRoot%\system32\profsvc.dll,运行在带netsvcs启动参数的svchost.exe进程中。
方法2:WMIC命令定位运行进程
如果需要快速定位订阅者对应的正在运行的进程ID,可执行以下命令:wmic service where "PathName like '%profsvc%'" get Name, DisplayName, PathName, ProcessId
查询其他订阅者时,只需把命令中的profsvc替换为对应订阅者的DllName名称即可。
WPR追踪适配技巧
你在做WPR追踪时,直接筛选命令行包含profsvc的svchost.exe进程即可,也可以直接抓取Microsoft-Windows-User Profiles Service提供的事件,即可完整观测配置文件加载全流程的耗时分布。
内容的提问来源于stack exchange,提问作者user3664223
相关产品推荐
相关产品推荐

