Logging

DNIM 提供了一组丰富的日志来诊断和排查问题。

Console

DNIM 始终生成控制台的输出。 默认详细程度为 normal。 建议在使用 Configuration Manager 部署 DNIM 时将详细级别设置为quiet避免中断用户。

诊断文件日志

DNIM 始终在当前用户的 %TEMP% 目录中生成诊断日志。 默认文件名以 dnim 前缀开头,后跟文件创建日期和时间,例如, dnim_20260811_203922.log 指示日志是在 2026 年 8 月 11 日下午 8:39:22 生成的。

日志的内容因命令和设备状态而异。 日志的开头包括 DNIM 版本和执行的命令等信息。

每行都包含时间戳、消息类型和事件 ID,后跟详细的消息。

[2026-08-11 20:39:23.495]d1000: DNIM started, command: c:\Users\user1\Downloads\dnim-win-x64.exe scan, PID: 18800, PPID: 34220 (C:\WINDOWS\System32\cmd.exe), SID: S-1-5-21-2127521184-1604012920-1887927527-5663403.

在前面的示例中, d1000 指示记录了事件 ID 为 1000 的诊断消息。 消息也可以带有 i 前缀(信息性)或 e (错误)。 仅将具有非零事件 ID 的消息发送到Windows事件日志。

注册表

DNIM 将有关其上次执行的信息存储在注册表中。 数据存储在管理员权限下 HKCU\Software\Microsoft\DNIM ( HKLM\Software\Microsoft\DNIM 如果命令是使用管理员权限执行的)。

D:\>reg query HKCU\Software\Microsoft\DNIM /s

HKEY_CURRENT_USER\Software\Microsoft\DNIM
    LastRunCommandLine    REG_SZ    c:\Users\user1\Downloads\dnim-win-x64.exe --help
    LastRun               REG_SZ    08/12/2026 03:40
    LastRunDate           REG_SZ    08/12/2026
    LastRunTime           REG_SZ    3:40:04.1996353

HKEY_CURRENT_USER\Software\Microsoft\DNIM\License
    Accepted    REG_DWORD    0x1
    Type        REG_SZ       prerelease

事件

修改设备状态的命令将使用事件源在Windows应用程序日志DNIM中生成事件。

DNIM 启动事件

事件标识符

事件编号 Remarks
1000 应用程序已启动并记录其命令和进程详细信息。
1001 遇到应用程序配置或环境问题。
1002 安装程序签名已验证或签名验证失败。
1003 发生常规应用程序错误或异常。
1100 已根据配置的策略评估安装。
1101 一个或多个安装需要修正。
1200 已启动卸载操作。
1210 卸载操作已完成并报告其退出代码。
1299 卸载操作引发异常并失败。
1300 系统还原点已创建。
1301 系统还原服务未初始化。
1310 系统还原点已成功结束。
1399 系统还原初始化、创建或完成操作失败。
1400 Windows 更新代理服务已启动。
1410 Windows 更新代理服务已停止或尝试停止它失败。
1499 Windows 更新代理服务无法启动。
1500 更新操作已启动。
1510 更新操作已完成并报告其退出代码。
1550 跳过了更新操作。 当前未使用此事件 ID。
1599 无法获取更新或更新操作引发异常。