<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>模块发布历史 on PowerShell 模块 DNSServer.DebugLogParser</title><link>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/</link><description>Recent content in 模块发布历史 on PowerShell 模块 DNSServer.DebugLogParser</description><generator>Hugo</generator><language>cn</language><lastBuildDate>Fri, 24 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/index.xml" rel="self" type="application/rss+xml"/><item><title>版本说明 v1.2.2.0 (2026-07-24)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.2.2.0/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.2.2.0/</guid><description>&lt;h2 id="新增"&gt;新增&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：支持读取当前由 DNS 服务打开的 DNS 服务器调试日志文件
&lt;ul&gt;
&lt;li&gt;允许处理活动日志文件，无需先关闭文件&lt;/li&gt;
&lt;li&gt;提升对仍在写入或被其他进程占用日志的兼容性&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;注意&lt;/strong&gt;：处理实时日志时需谨慎，因为记录可能不完整或处于变化中&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：支持读取源日志文件时使用 SMB/UNC 路径
&lt;ul&gt;
&lt;li&gt;允许解析器处理存储在网络共享和远程位置的文件&lt;/li&gt;
&lt;li&gt;提高集中式或共享存储环境下的可靠性&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="变更"&gt;变更&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;模块元数据&lt;/strong&gt;：更新 ProjectUri 和 ReleaseNotes 指向 &lt;strong&gt;官方网站 &lt;a href="https://dnsserverdebuglogparser.andibellstedt.com"&gt;https://dnsserverdebuglogparser.andibellstedt.com&lt;/a&gt;&lt;/strong&gt;，以便更好地发现和访问文档&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;修正文件访问&lt;/strong&gt;：更新底层文件打开逻辑，采用基于流的访问并显式设置共享读取选项
&lt;ul&gt;
&lt;li&gt;改善对实时日志文件和 UNC 共享等替代路径类型的处理&lt;/li&gt;
&lt;li&gt;保持本地和远程文件源的一致行为&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>版本说明 v1.2.1.0 (2026-01-26)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.2.1.0/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.2.1.0/</guid><description>&lt;h2 id="变更内容"&gt;变更内容&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;性能&lt;/strong&gt;：改进了多行记录处理，避免将大文件全部加载到内存中
&lt;ul&gt;
&lt;li&gt;防止在处理超大日志文件时出现内存溢出错误&lt;/li&gt;
&lt;li&gt;继续完全支持 PACKET 详细块和缩进的续行&lt;/li&gt;
&lt;li&gt;内存使用量现在与文件大小无关，保持恒定&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;进度&lt;/strong&gt;：新增 &lt;code&gt;Write-Progress&lt;/code&gt; 以反馈处理进度
&lt;ul&gt;
&lt;li&gt;进度条每处理 1000 条记录更新一次，性能影响极小&lt;/li&gt;
&lt;li&gt;显示当前记录数和正在处理的文件名称&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>版本说明 v1.2.0.0 (2026-01-25)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.2.0.0/</link><pubDate>Sun, 25 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.2.0.0/</guid><description>&lt;h2 id="新增"&gt;新增&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：DNS PACKET 详细块的多行记录处理
&lt;ul&gt;
&lt;li&gt;PACKET 上下文条目现在可以包含详细的 TCP/UDP 连接信息和 DNS 消息结构&lt;/li&gt;
&lt;li&gt;详细块被解析为结构化的 JSON 格式，存储在新的 &lt;code&gt;Details&lt;/code&gt; 列中&lt;/li&gt;
&lt;li&gt;包含：套接字信息、远程地址/端口、时序数据、消息结构（XID、Flags、QCOUNT 等）&lt;/li&gt;
&lt;li&gt;DNS 部分（QUESTION、ANSWER、AUTHORITY、ADDITIONAL）捕获完整记录详情&lt;/li&gt;
&lt;li&gt;详细块中的编码域名自动转换为 FQDN 格式&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：CSV 输出中的 &lt;code&gt;Details&lt;/code&gt; 列
&lt;ul&gt;
&lt;li&gt;包含带有详细块的 PACKET 条目的结构化 JSON 数据&lt;/li&gt;
&lt;li&gt;对于无详细信息的 PACKET 条目及所有非 PACKET 上下文，该列为空&lt;/li&gt;
&lt;li&gt;支持对 DNS 查询/响应进行深度数据包分析和取证调查&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：性能优化的 &lt;code&gt;NoDetailsParsing&lt;/code&gt; 开关参数
&lt;ul&gt;
&lt;li&gt;跳过对 PACKET 详细块的昂贵 JSON 解析&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;可提升&lt;/strong&gt;&lt;/em&gt;处理速度 &lt;strong&gt;30-50%&lt;/strong&gt;，适用于包含大量详细块的日志&lt;/li&gt;
&lt;li&gt;适合处理超大文件（100MB+）且不需要详细包结构时使用&lt;/li&gt;
&lt;li&gt;详细块仍收集于 Information 列，但 Details 列保持为空&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：非 PACKET 上下文的多行续行支持
&lt;ul&gt;
&lt;li&gt;EVENT、Note、DSPoll 等上下文现在可跨多行&lt;/li&gt;
&lt;li&gt;缩进的续行自动合并至主记录的 Information 字段&lt;/li&gt;
&lt;li&gt;保留完整的错误信息、区域更新和诊断输出&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：&lt;code&gt;ContextFilter&lt;/code&gt; 识别更多上下文类型：&lt;code&gt;DSPoll&lt;/code&gt;、&lt;code&gt;Init&lt;/code&gt;、&lt;code&gt;Lookup&lt;/code&gt;、&lt;code&gt;Recurse&lt;/code&gt;、&lt;code&gt;Remote&lt;/code&gt;、&lt;code&gt;Tombstone&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;作用：&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; 现在可通过 &lt;code&gt;-ContextFilter&lt;/code&gt; 包含/排除这些诊断和生命周期条目&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：统计输出新增两个专用文件
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;_Statistic.csv&lt;/code&gt;：按日期和上下文类型的每日记录计数（Date、Context、Count、ComputerName）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_PacketStatistic.csv&lt;/code&gt;：按日期、客户端/协议/方向/类型的每日 PACKET 计数（Date、ClientIP、Protocol、Direction、QuestionType、Count、ComputerName）&lt;/li&gt;
&lt;li&gt;优势：更聚焦的报告（操作上下文量与 DNS 流量细分）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PACKET 详细块的 JSON 生成经过性能优化（手动解析替代正则）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="变更"&gt;变更&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;重大变更&lt;/strong&gt;：CSV 输出现在包含 18 列（在 &lt;code&gt;ComputerName&lt;/code&gt; 前新增 &lt;code&gt;Details&lt;/code&gt; 列）
&lt;ul&gt;
&lt;li&gt;新列顺序：DateTime、ThreadId、Context、PacketId、Protocol、Direction、ClientIP、Xid、Type、Opcode、FlagsHex、FlagsChar、ResponseCode、QuestionType、QuestionName、Information、&lt;strong&gt;Details&lt;/strong&gt;、ComputerName&lt;/li&gt;
&lt;li&gt;影响：依赖列位置的脚本需更新&lt;/li&gt;
&lt;li&gt;优势：丰富的数据包分析能力，同时不改变现有 Information 列行为&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;数据行处理重构为将所有行读入内存，以便高效检测多行记录
&lt;ul&gt;
&lt;li&gt;性能：由于优化的 List&lt;string&gt; 使用，影响极小&lt;/li&gt;
&lt;li&gt;优势：支持准确的前瞻检测详细块和续行&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;缺失或编码为空的查询名现在优雅处理（无解析错误）；CSV 输出中缺失时 QuestionName 字段为空&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="改进"&gt;改进&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; 解析更健壮：更严格的行验证和改进的提取减少了格式错误日志产生的虚假/无效行，同时保持 CSV/统计输出格式&lt;/li&gt;
&lt;li&gt;PACKET 上下文检测区分简单查询和带详细块的查询&lt;/li&gt;
&lt;li&gt;无详细信息的 PACKET 条目后空行正确跳过&lt;/li&gt;
&lt;li&gt;详细块中的域名解码使用现有的 &lt;code&gt;ConvertTo-Fqdn&lt;/code&gt; 函数以保持一致性&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="性能"&gt;性能&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;对无详细块日志保持处理速度&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NoDetailsParsing&lt;/code&gt; 开关在不需要 JSON 解析时提供 30-50% 的速度提升&lt;/li&gt;
&lt;li&gt;多行记录处理期间高效的状态管理&lt;/li&gt;
&lt;li&gt;使用优化的字符串操作（TrimStart、Join）替代正则处理续行&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="备注"&gt;备注&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;这些更改设计为向后兼容正常使用场景。如依赖特定上下文名称集或之前严格的解析行为，请验证下游脚本&lt;/li&gt;
&lt;li&gt;新的 &lt;code&gt;Details&lt;/code&gt; 列始终存在于 CSV 输出中；使用 &lt;code&gt;NoDetailsParsing&lt;/code&gt; 可保持其为空以提升性能&lt;/li&gt;
&lt;li&gt;现有按列位置解析 CSV 的脚本需考虑新增的 &lt;code&gt;Details&lt;/code&gt; 列（位置为第17列，位于 ComputerName 之前）&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.0.0 (2026-01-23)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.0.0/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.0.0/</guid><description>&lt;h3 id="新增"&gt;新增&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;初始版本发布&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; - 高性能解析器，用于 Windows DNS 服务器调试日志文件&lt;/li&gt;
&lt;li&gt;解析 DNS 调试日志中的所有 15 个标准字段，转换为结构化的 CSV 格式&lt;/li&gt;
&lt;li&gt;支持自定义 CSV 分隔符（默认：分号）&lt;/li&gt;
&lt;li&gt;可选的 ComputerName 列，便于多服务器日志合并&lt;/li&gt;
&lt;li&gt;三种输出模式：仅 CSV 数据、仅统计信息或两者兼有&lt;/li&gt;
&lt;li&gt;按客户端 IP、协议和查询类型汇总的统计摘要&lt;/li&gt;
&lt;li&gt;支持管道处理，实现批量处理多个日志文件&lt;/li&gt;
&lt;li&gt;头部验证以确保数据完整性（可根据需要绕过）&lt;/li&gt;
&lt;li&gt;可选自动压缩输出文件（ZIP 格式）&lt;/li&gt;
&lt;li&gt;处理成功后可选删除源文件&lt;/li&gt;
&lt;li&gt;文化感知的日期解析和格式化，适用于国际 DNS 服务器&lt;/li&gt;
&lt;li&gt;针对大文件（100MB 以上）优化，采用流式 I/O 和高效字符串操作&lt;/li&gt;
&lt;li&gt;兼容 PowerShell 5.1+（桌面版和核心版）&lt;/li&gt;
&lt;li&gt;支持 Windows Server 2016+ 及 DNS Server 2012 R2 至 2025 日志格式&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>版本说明 v1.1.0 (2026-01-23)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.1.0.0/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/cn/changelog/release-v1.1.0.0/</guid><description>&lt;h2 id="新增"&gt;新增&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：ContextFilter 参数用于选择性日志解析
&lt;ul&gt;
&lt;li&gt;按上下文类型过滤日志条目：PACKET（DNS 查询/响应）、EVENT（服务器事件）或 Note（诊断信息）&lt;/li&gt;
&lt;li&gt;允许针对特定日志条目类型进行聚焦分析&lt;/li&gt;
&lt;li&gt;默认值：All（包含所有上下文类型）&lt;/li&gt;
&lt;li&gt;使用场景：仅关注 DNS 流量，监控服务器事件，排查诊断问题&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增&lt;/strong&gt;：CSV 输出中的信息字段
&lt;ul&gt;
&lt;li&gt;捕获 EVENT 和 Note 上下文条目的详细信息&lt;/li&gt;
&lt;li&gt;示例：“DNS 服务器已启动”、“区域加载完成”、套接字错误、内部状态消息&lt;/li&gt;
&lt;li&gt;增强对 DNS 服务器运行事件和诊断的可见性&lt;/li&gt;
&lt;li&gt;当 Context 为 EVENT 或 Note 时填充该字段；PACKET 条目为空&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="变更"&gt;变更&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;重大变更&lt;/strong&gt;：ComputerName 列现在始终包含在所有输出记录的末尾
&lt;ul&gt;
&lt;li&gt;之前：ComputerName 仅在指定参数时有条件地包含在开头&lt;/li&gt;
&lt;li&gt;现在：ComputerName 始终作为最后一列出现；未指定参数时为空&lt;/li&gt;
&lt;li&gt;优点：输出结构一致，简化多服务器日志合并和自动化处理&lt;/li&gt;
&lt;li&gt;影响：现有解析列位置或依赖条件列存在的脚本需更新&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="新增-1"&gt;新增&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;通过 ContextFilter 参数实现上下文过滤，聚焦特定日志条目类型（PACKET、EVENT、NOTE）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="改进"&gt;改进&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;重构 Convert-DNSDebugLogFile 的注释帮助，提升清晰度和简洁性&lt;/li&gt;
&lt;li&gt;更新参数描述，使其更具信息性和可操作性&lt;/li&gt;
&lt;li&gt;改进示例文档，提供更聚焦且实用的用例&lt;/li&gt;
&lt;li&gt;增强 about_DNSServer.DebugLogParser 帮助文件，反映当前功能&lt;/li&gt;
&lt;li&gt;增强详细日志记录，提供处理过程中的更详细进度信息&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>