收集 MDM 日志
为了帮助诊断由 MDM 服务器管理的 Windows 设备中的注册或设备管理问题,可以检查从桌面收集的 MDM 日志。 以下部分介绍收集 MDM 日志的过程。
从 Windows 设备下载 MDM 诊断信息日志
在托管设备上,转到 “设置>帐户>”“访问工作或学校”。
选择工作或学校帐户,然后选择 “信息”。
在 “设置” 页底部,选择“ 创建报表”。
此时会打开一个窗口,显示日志文件的路径。 选择“ 导出”。
在“文件资源管理器”中,导航到
C:\Users\Public\Documents\MDMDiagnostics
以查看报表。
使用 命令直接从 Windows 设备收集日志
还可以使用以下命令收集 MDM 诊断信息日志:
mdmdiagnosticstool.exe -area "DeviceEnrollment;DeviceProvisioning;Autopilot" -zip "c:\users\public\documents\MDMDiagReport.zip"
- 在文件资源管理器中,导航到 c:\Users\Public\Documents\MDMDiagnostics 以查看报告。
了解 zip 结构
zip 文件根据 命令中使用的区域具有日志。 此说明基于 DeviceEnrollment、DeviceProvisioning 和 Autopilot 区域。 它适用于通过命令行或反馈中心收集的 zip 文件
- DiagnosticLogCSP_Collector_Autopilot_*:Autopilot etls
- DiagnosticLogCSP_Collector_DeviceProvisioning_*:预配 etls (Microsoft-Windows-Provisioning-Diagnostics-Provider)
- MDMDiagHtmlReport.html:MDM 配置和策略的摘要快照。 包括、管理 URL、MDM 服务器设备 ID、证书、策略。
- MdmDiagLogMetadata.json:mdmdiagnosticstool 元数据文件,其中包含用于运行该工具的命令行参数。
- MDMDiagReport.xml:包含 MDM 配置的更详细视图,例如注册变量、预配包、多变量条件等。 有关诊断预配包的详细信息,请参阅 诊断预配包。
- MdmDiagReport_RegistryDump.reg:包含来自常见 MDM 注册表位置的转储
- MdmLogCollectorFootPrint.txt:mdmdiagnosticslog 工具运行 命令的日志
- *.evtx:常见事件查看器记录包含 MDM 事件的 microsoft-windows-devicemanagement-enterprise-diagnostics-provider-admin.evtx 主事件。
直接从 Windows 设备收集日志
MDM 日志在事件查看器中的以下位置捕获:
- 应用程序和服务日志 > Microsoft > Windows > DeviceManagement-Enterprise-Diagnostic-Provider
下面是屏幕截图:
在此位置, 管理员 通道默认记录事件。 但是,如果需要更详细的日志,可以通过在事件查看器的“查看”菜单中选择“显示分析和调试日志”选项来启用调试日志。
收集管理员日志
- 右键单击“ 管理 ”节点。
- 选择“ 将所有事件另存为”。
- 选择一个位置并输入文件名。
- 选择保存。
- 选择 “显示这些语言的信息 ”,然后选择“ 英语”。
- 选择“确定”。
有关更详细的日志记录,可以启用 调试 日志。 右键单击“ 调试” 节点,然后选择“ 启用日志”。
收集调试日志
- 右键单击“ 调试” 节点。
- 选择“ 将所有事件另存为”。
- 选择一个位置并输入文件名。
- 选择保存。
- 选择 “显示这些语言的信息 ”,然后选择“ 英语”。
- 选择“确定”。
可以在 Windows 设备上的事件查看器中打开日志文件 (.evtx 文件) 。
从 Windows 设备远程收集日志
如果电脑已在 MDM 中注册,则可以通过 MDM 通道从电脑远程收集日志(如果 MDM 服务器支持此功能)。 DiagnosticLog CSP 可用于按全名启用事件查看器通道。 下面是管理员和调试通道的事件查看器名称:
- Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider%2FAdmin
- Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider%2FDebug
示例:启用调试通道日志记录
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Replace>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider%2FDebug/State</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">bool</Format>
</Meta>
<Data>true</Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>
示例:导出调试日志
<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Exec>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider%2FDebug/Export</LocURI>
</Target>
</Item>
</Exec>
<Final/>
</SyncBody>
</SyncML>
从 Windows 全息远程收集日志
对于已在 MDM 中注册的全息,可以使用 DiagnosticLog CSP 通过 MDM 通道远程收集 MDM 日志。
可以使用 DiagnosticLog CSP 启用 ETW 提供程序。 提供程序 ID 为 3DA494E4-0FE2-415C-B895-FB5265C5C83B。 以下示例演示如何启用 ETW 提供程序:
添加收集器节点
<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Add>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/MDM</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">node</Format>
</Meta>
</Item>
</Add>
<Final/>
</SyncBody>
</SyncML>
将 ETW 提供程序添加到跟踪
<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Add>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/MDM/Providers/3DA494E4-0FE2-415C-B895-FB5265C5C83B</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">node</Format>
</Meta>
</Item>
</Add>
<Final/>
</SyncBody>
</SyncML>
启动收集器跟踪日志记录
<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Exec>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/MDM/TraceControl</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">chr</Format>
</Meta>
<Data>START</Data>
</Item>
</Exec>
<Final/>
</SyncBody>
</SyncML>
停止收集器跟踪日志记录
<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Exec>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/MDM/TraceControl</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">chr</Format>
</Meta>
<Data>STOP</Data>
</Item>
</Exec>
<Final/>
</SyncBody>
</SyncML>
在设备上收集日志后,可以使用 DiagnosticLog CSP 的 FileDownload 部分通过 MDM 通道检索文件。 有关详细信息,请参阅 DiagnosticLog CSP。
查看日志
为了获得最佳结果,请确保查看日志的电脑或 VM 与从中收集日志的操作系统的内部版本匹配。
打开 eventvwr.msc。
右键单击“ 事件查看器” (“本地) ”,然后选择“ 打开保存的日志”。
导航到从设备获取的 etl 文件,然后打开该文件。
出现提示时选择“ 是 ”,将其保存为新的日志格式。
新视图包含来自通道的跟踪。 从“操作”菜单中选择“筛选当前日志”。
通过选择 “DeviceManagement-EnterpriseDiagnostics-Provider ”,将筛选器添加到事件源,然后选择“ 确定”。
现在可以开始查看日志了。
收集设备状态数据
下面是如何使用 DiagnosticLog CSP 收集当前 MDM 设备状态数据的示例。 可以在 CSP 中使用与处理 etl 文件相同的 FileDownload 节点从设备收集文件。
<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Exec>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/DiagnosticLog/DeviceStateData/MdmConfiguration</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">chr</Format>
</Meta>
<Data>SNAP</Data>
</Item>
</Exec>
<Final/>
</SyncBody>
</SyncML>