用于在 Windows 上进行高级故障排除的数据收集

提示

观看此视频,详细了解载入问题: Defender for Endpoint 客户端分析器载入问题

与Microsoft支持专业人员协作时,系统可能会要求你使用客户端分析器收集数据,以便对更复杂的方案进行故障排除。 分析器脚本支持用于此目的的其他参数,并且可以根据观察到需要调查的症状收集特定的日志集。

运行 MDEClientAnalyzer.cmd /? 以查看可用参数的列表及其说明:

MDEClientAnalyzer.cmd的参数

开关 说明 何时使用 你正在排查的进程。
-h 调用 Windows 性能记录器 以收集除标准日志集外的详细常规性能跟踪。 应用程序启动缓慢。 点击应用中的按钮时,会多花 x 秒。 下列值之一:
  • MSSense.exe
  • MsSenseS.exe
  • SenseIR.exe
  • SenseNdr.exe
  • SenseTVM.exe
  • SenseAadAuthenticator.exe
  • SenseGPParser.exe
  • SenseImdsCollector.exe
  • SenseSampleUploader.exe
  • MsMpEng.exe
  • NisSrv.exe
-l 调用内置 Windows 性能监视器,以收集轻量 perfmon 跟踪信息。 在诊断随时间推移而发生但难以按需重现的缓慢性能下降问题时,此方案非常有用。 排查那些可能需要较长时间才会显现出来的应用程序性能问题。 建议采集时长最多为 3 分钟(至多 5 分钟),因为数据集可能会变得过大。 下列值之一:
  • MSSense.exe
  • MsSenseS.exe
  • SenseIR.exe
  • SenseNdr.exe
  • SenseTVM.exe
  • SenseAadAuthenticator.exe
  • SenseGPParser.exe
  • SenseImdsCollector.exe
  • SenseSampleUploader.exe
  • MsMpEng.exe
  • NisSrv.exe
-c 调用 进程监视器 ,以高级监视实时文件系统、注册表和进程/线程活动。 这在排查各种应用程序兼容性问题时尤其有用。 进程监视器 (ProcMon) ,用于在调查驱动程序或服务或应用程序启动延迟相关问题时启动启动跟踪。 或者,托管在网络共享上且未正确使用 SMB 机会锁 (Oplock) 的应用程序,可能会导致应用程序兼容性问题。 下列值之一:
  • MSSense.exe
  • MsSenseS.exe
  • SenseIR.exe
  • SenseNdr.exe
  • SenseTVM.exe
  • SenseAadAuthenticator.exe
  • SenseGPParser.exe
  • SenseImdsCollector.exe
  • SenseSampleUploader.exe
  • MsMpEng.exe
  • NisSrv.exe
-i 调用内置 netsh.exe 命令以启动网络和 Windows 防火墙跟踪,在排查各种网络相关问题时很有用。 排除网络相关问题时,例如 Defender for Endpoint EDR 遥测或 CnC 数据提交问题。 Microsoft Defender防病毒云保护 (MAPS) 报告问题。 与网络保护相关的问题等。 以下过程之一:
  • MSSense.exe
  • MsSenseS.exe
  • SenseIR.exe
  • SenseNdr.exe
  • SenseTVM.exe
  • SenseAadAuthenticator.exe
  • SenseGPParser.exe
  • SenseImdsCollector.exe
  • SenseSampleUploader.exe
  • MsMpEng.exe
  • NisSrv.exe
-b 与 相同 -c ,但进程监视器跟踪将在下次启动期间启动,并且仅在再次使用 -b 时停止。 进程监视器 (ProcMon) ,用于在调查驱动程序或服务或应用程序启动延迟相关问题时启动启动跟踪。 此方案还可用于调查启动缓慢或登录缓慢的情况。 以下过程之一:
  • MSSense.exe
  • MsSenseS.exe
  • SenseIR.exe
  • SenseNdr.exe
  • SenseTVM.exe
  • SenseAadAuthenticator.exe
  • SenseGPParser.exe
  • SenseImdsCollector.exe
  • SenseSampleUploader.exe
  • MsMpEng.exe
  • NisSrv.exe
-e 调用Windows Performance Recorder来收集 Defender AV 客户端跟踪日志(AM-Engine 和 AM-Service),用于分析防病毒云连接问题。 在排除云保护 (MAPS) 报告失败问题时。 MsMpEng.exe
-a 调用 Windows Performance Recorder 以收集详细性能跟踪,用于分析与防病毒进程 (MsMpEng.exe) 相关的高 CPU 使用率问题。 如果在对 Microsoft Defender 防病毒软件(Antimalware Service Executable 或 MsMpEng.exe)导致的高 CPU 使用率进行故障排除时,你已使用 Microsoft Defender 防病毒软件 性能分析器 来缩小导致高 CPU 使用率的 /path/process、/path 或文件扩展名范围。 此方案允许进一步调查应用程序或服务为导致 CPU 使用率过高而执行的操作。 MsMpEng.exe
-v 使用防病毒 MpCmdRun.exe 命令行实用工具以及最详细的 -Trace 标志。 每当需要进行高级故障排查时。 例如,在排除 Cloud Protection (MAPS) 报告失败、平台更新失败、引擎更新失败、安全智能更新失败、漏报等问题时。也可以与 -b-c-h-l 一起使用。 MsMpEng.exe
-t 启动与终结点 DLP 相关的所有客户端组件的详细跟踪,这对于文件上的 DLP 操作未按预期执行的情况非常有用。 当遇到 Microsoft 终结点数据丢失防护 (DLP) 操作未按预期执行的问题时。 MpDlpService.exe
-q 从分析器 Tools 目录调用 DLPDiagnose.ps1 脚本,用于验证终结点 DLP 的基本配置和要求。 检查 Microsoft 终结点 DLP 的基本配置和要求 MpDlpService.exe
-d 收集 MsSenseS.exe(Windows Server 2016 或更早版本 OS 中的传感器进程)及相关进程的内存转储。 - * 此标志可与上述标志一起使用。 - ** 分析器目前不支持捕获 受 PPL 保护的进程 (例如 MsSense.exeMsMpEng.exe )的内存转储。 在运行 MMA 代理且存在性能问题(CPU 使用率高或内存使用率高)或应用程序兼容性问题的 Windows 7 SP1、Windows 8.1、Windows Server 2008 R2、Windows Server 2012 R2 或 Windows Server 2016 上。 MsSenseS.exe
-z 在计算机上配置注册表项,以便通过 CrashOnCtrlScroll 为完整计算机内存转储收集做好准备。 这对于分析计算机冻结问题非常有用。 * 按住最右侧的 Ctrl 键,然后按两次 SCROLL LOCK 键。 计算机死机、无响应或运行缓慢。 高内存使用率(内存泄漏):a) 用户模式:专用字节 b) 内核模式:分页池或非分页池内存,句柄泄漏。 MSSense.exeMsMpEng.exe
-k 使用 NotMyFault 工具强制系统崩溃并生成计算机内存转储。 这对于分析各种 OS 稳定性问题非常有用。 与上述相同。 MSSense.exeMsMpEng.exe

分析器和本文中列出的所有方案标志都可以通过运行 RemoteMDEClientAnalyzer.cmd远程启动,后者也捆绑到分析器工具集中:

RemoteMDEClientAnalyzer.cmd的参数

注意

使用任何高级故障排除参数时,分析器还会调用 MpCmdRun.exe 来收集与防病毒相关的Microsoft Defender支持日志。 即使尚未接入该区域,您也可以使用 -g 标志来验证特定数据中心区域的 URL。 例如, MDEClientAnalyzer.cmd -g EU 强制分析器测试欧洲区域中的云 URL。

需要记住的几点

使用 RemoteMDEClientAnalyzer.cmd 时,它会调用 psexec,从已配置的文件共享下载该工具,然后通过 PsExec.exe 在本地运行它。

CMD 脚本使用 -r 标志指定它在 SYSTEM 上下文中远程运行,因此不会向用户显示任何提示。

同一标志可用于 MDEClientAnalyzer.cmd 避免提示用户指定数据收集的分钟数。 例如,请考虑 MDEClientAnalyzer.cmd -r -i -m 5

  • -r 表示该工具正在远程或在非交互式环境中运行。
  • -i 是用于收集网络跟踪以及其他相关日志的方案标志。
  • -m # 表示运行的分钟数(我们的示例中使用了 5 分钟)。

使用 MDEClientAnalyzer.cmd时,脚本使用 net session检查权限,这要求服务 Server 正在运行。 否则,将收到错误消息 “脚本正在运行,权限不足”。 如果 ECHO 处于关闭状态,请使用管理员权限运行它。