Efecto: Convert-DNSDebugLogFile ahora puede incluir/excluir estas entradas diagnósticas y de ciclo de vida mediante -ContextFilter
NUEVO: La salida de estadísticas ahora incluye dos archivos dedicados
_Statistic.csv: Conteos diarios de registros por tipo de contexto (Date, Context, Count, ComputerName)
_PacketStatistic.csv: Conteos diarios de PACKET por cliente/protocolo/dirección/tipo (Date, ClientIP, Protocol, Direction, QuestionType, Count, ComputerName)
Beneficio: Informes más enfocados (volumen de contexto operativo vs. desglose del tráfico DNS)
La generación de JSON para bloques de detalle PACKET está optimizada para rendimiento (análisis manual en lugar de regex)
Cambiado
CAMBIO IMPORTANTE: La salida CSV ahora incluye 18 columnas (se añadió la columna Details antes de ComputerName)
Nuevo orden de columnas: DateTime, ThreadId, Context, PacketId, Protocol, Direction, ClientIP, Xid, Type, Opcode, FlagsHex, FlagsChar, ResponseCode, QuestionType, QuestionName, Information, Details, ComputerName
Impacto: Los scripts que dependen de posiciones de columna deben actualizarse
Beneficio: Capacidades avanzadas de análisis de paquetes sin cambiar el comportamiento existente de la columna Information
El procesamiento de líneas de datos fue refactorizado para leer todas las líneas en memoria y detectar registros multilínea eficientemente
Rendimiento: Impacto mínimo gracias al uso optimizado de List
Beneficio: Permite una anticipación precisa para bloques de detalle y líneas de continuación
Los nombres de preguntas que faltan o están codificados como vacíos ahora se manejan sin errores de análisis; la salida CSV contendrá un campo QuestionName vacío cuando no esté presente
Mejorado
El análisis de Convert-DNSDebugLogFile es más resistente: validación más estricta de líneas y extracción mejorada reducen filas espurias/inválidas de registros malformados mientras se preserva el formato CSV/estadístico
La detección del contexto PACKET distingue entre consultas simples y consultas con bloques de detalle
Las líneas vacías después de entradas PACKET sin detalles se omiten correctamente
La decodificación de nombres de dominio en bloques de detalle usa la función existente ConvertTo-Fqdn para mayor consistencia
Rendimiento
Velocidad de procesamiento mantenida para registros sin bloques de detalle
El conmutador NoDetailsParsing ofrece una mejora de velocidad del 30-50% cuando no se necesita análisis JSON
Gestión eficiente del estado durante el procesamiento de registros multilínea
Operaciones de cadena optimizadas (TrimStart, Join) en lugar de regex para manejo de líneas de continuación
Notas
Estos cambios están diseñados para ser compatibles hacia atrás en el uso normal. Si dependes de un conjunto exacto de nombres de contexto o del comportamiento de análisis previamente estricto, valida tus scripts posteriores
La nueva columna Details siempre está presente en la salida CSV; usa NoDetailsParsing para mantenerla vacía y mejorar el rendimiento
Los scripts existentes que analizan CSV por posición de columna deben tener en cuenta la nueva columna Details (posición 17, antes de ComputerName)