本节包含 DNSServer.DebugLogParser PowerShell 模块各版本的发布说明。
模块发布历史
DNSServer.DebugLogParser PowerShell 模块的版本发布说明
v1.0.0 (2026-01-23)
新增
- 初始版本发布
Convert-DNSDebugLogFile- 高性能解析器,用于 Windows DNS 服务器调试日志文件- 解析 DNS 调试日志中的所有 15 个标准字段,转换为结构化的 CSV 格式
- 支持自定义 CSV 分隔符(默认:分号)
- 可选的 ComputerName 列,便于多服务器日志合并
- 三种输出模式:仅 CSV 数据、仅统计信息或两者兼有
- 按客户端 IP、协议和查询类型汇总的统计摘要
- 支持管道处理,实现批量处理多个日志文件
- 头部验证以确保数据完整性(可根据需要绕过)
- 可选自动压缩输出文件(ZIP 格式)
- 处理成功后可选删除源文件
- 文化感知的日期解析和格式化,适用于国际 DNS 服务器
- 针对大文件(100MB 以上)优化,采用流式 I/O 和高效字符串操作
- 兼容 PowerShell 5.1+(桌面版和核心版)
- 支持 Windows Server 2016+ 及 DNS Server 2012 R2 至 2025 日志格式
版本说明 v1.1.0 (2026-01-23)
新增
- 新增:ContextFilter 参数用于选择性日志解析
- 按上下文类型过滤日志条目:PACKET(DNS 查询/响应)、EVENT(服务器事件)或 Note(诊断信息)
- 允许针对特定日志条目类型进行聚焦分析
- 默认值:All(包含所有上下文类型)
- 使用场景:仅关注 DNS 流量,监控服务器事件,排查诊断问题
- 新增:CSV 输出中的信息字段
- 捕获 EVENT 和 Note 上下文条目的详细信息
- 示例:“DNS 服务器已启动”、“区域加载完成”、套接字错误、内部状态消息
- 增强对 DNS 服务器运行事件和诊断的可见性
- 当 Context 为 EVENT 或 Note 时填充该字段;PACKET 条目为空
变更
- 重大变更:ComputerName 列现在始终包含在所有输出记录的末尾
- 之前:ComputerName 仅在指定参数时有条件地包含在开头
- 现在:ComputerName 始终作为最后一列出现;未指定参数时为空
- 优点:输出结构一致,简化多服务器日志合并和自动化处理
- 影响:现有解析列位置或依赖条件列存在的脚本需更新
新增
- 通过 ContextFilter 参数实现上下文过滤,聚焦特定日志条目类型(PACKET、EVENT、NOTE)
改进
- 重构 Convert-DNSDebugLogFile 的注释帮助,提升清晰度和简洁性
- 更新参数描述,使其更具信息性和可操作性
- 改进示例文档,提供更聚焦且实用的用例
- 增强 about_DNSServer.DebugLogParser 帮助文件,反映当前功能
- 增强详细日志记录,提供处理过程中的更详细进度信息