Acerca de esta documentación

Este es el sitio oficial de documentación para DNSServer.DebugLogParser, un módulo de PowerShell que transforma los archivos de registro de depuración del servidor DNS de Windows en datos CSV estructurados y analizables.

Acerca del módulo

DNSServer.DebugLogParser nació de una necesidad real: los registros de depuración del servidor DNS de Windows son texto legible para humanos, pero no aptos para análisis o informes. Este módulo cierra esa brecha convirtiendo archivos de registro en bruto en un formato CSV estructurado que se integra con herramientas comunes como Excel, Power BI, bases de datos SQL y sistemas SIEM.

Principios clave de diseño:

  • Rendimiento primero — optimizado para archivos de más de 100MB usando E/S por streaming y operaciones con cadenas
  • Compatibilidad entre ediciones — soporta PowerShell Desktop (5.1+) y Core (7.x)
  • Listo para producción — incluye validación de encabezados, manejo de errores y compresión opcional
  • Amigable con pipeline — se integra naturalmente con la arquitectura de pipeline de PowerShell

Recursos

Contribuciones

Las contribuciones son bienvenidas. Si encuentras problemas, errores o tienes sugerencias para mejoras, por favor abre un issue o pull request en el repositorio de GitHub.

1 - Descripción general

DNSServer.DebugLogParser es un módulo de PowerShell que transforma los archivos de registro de depuración del servidor DNS de Windows en datos CSV estructurados y analizables para análisis de seguridad, monitoreo de rendimiento, solución de problemas e informes de cumplimiento.

¿Qué es un registro de depuración DNS?

El registro de depuración DNS es una función del servidor DNS de Windows que registra información detallada sobre las operaciones DNS. Cuando está habilitado, el servidor DNS escribe entradas de registro en un archivo de texto (normalmente dns.log) en el directorio del servidor DNS.

Cada entrada de registro contiene hasta 16 campos, incluyendo:

  • Fecha y hora de la consulta
  • Protocolo usado (UDP o TCP)
  • Dirección (Envió o Recibió)
  • Dirección IP del cliente
  • Tipo de consulta (A, AAAA, MX, PTR, etc.)
  • Nombre de dominio consultado
  • Código de respuesta (NOERROR, NXDOMAIN, etc.)
  • Banderas y opciones de consulta
  • Dirección IP en la respuesta (para consultas exitosas)
  • Números de puerto y detalles técnicos adicionales

¿Por qué analizar los registros de depuración DNS?

Los registros DNS son críticos para:

Solución de problemas

  • Diagnosticar fallos en la resolución de nombres
  • Identificar clientes o aplicaciones mal configuradas
  • Rastrear la fuente de consultas problemáticas
  • Verificar la configuración correcta del DNS y las transferencias de zona

Monitoreo de rendimiento

  • Identificar fuentes de consultas de alto volumen
  • Analizar tipos y patrones de consulta para optimizar la infraestructura DNS
  • Detectar problemas de configuración que causan consultas excesivas
  • Rastrear tiempos de respuesta y tasas de éxito
  • Monitorear la carga y capacidad del servidor DNS

Análisis de seguridad

  • Detectar intentos de túneles DNS y exfiltración de datos
  • Identificar dominios asociados con malware y servidores de mando y control
  • Rastrear patrones de consulta sospechosos que pueden indicar sistemas comprometidos
  • Monitorear ataques de amplificación DNS
  • Investigar incidentes de seguridad y rastrear la actividad de atacantes

Cumplimiento y auditoría

  • Cumplir con requisitos regulatorios de registro y retención
  • Documentar la actividad de red para auditorías
  • Generar informes para gerencia y oficiales de cumplimiento
  • Demostrar diligencia debida en la supervisión de seguridad

Cómo funciona el módulo (a alto nivel)

El módulo está optimizado para archivos grandes y procesa registros de depuración DNS en una salida CSV estructurada. Soporta registros multilínea (por ejemplo, bloques de detalle PACKET y líneas de continuación indentadas) para que los mensajes de eventos/diagnósticos y detalles de paquetes se mantengan asociados al registro correcto.

Capacidades clave:

  • Analiza los campos nativos del registro de depuración DNS y produce un formato CSV consistente
  • Maneja múltiples versiones del servidor DNS (2012 R2 hasta 2025)
  • Soporta tanto PowerShell Desktop (5.1+) como Core (7.x)
  • Procesa archivos de cualquier tamaño (probado con archivos de más de 100MB)
  • Valida los encabezados del archivo de registro para asegurar la integridad de los datos
  • Genera resúmenes estadísticos opcionales
  • Soporta procesamiento por lotes vía pipeline de PowerShell
  • Comprime opcionalmente los archivos de salida para ahorrar espacio en disco
  • Puede eliminar automáticamente los archivos fuente tras un procesamiento exitoso
  • Análisis de fechas sensible a la cultura para registros DNS internacionales
  • Formateo de fechas sensible a la cultura para requisitos internacionales de salida

Licencia y soporte

El módulo se publica bajo la Licencia MIT. El soporte comunitario está disponible a través de Issues en GitHub.

2 - Mejores Prácticas Operativas

Al usar DNSServer.DebugLogParser en producción:

  1. Programa el procesamiento regular

    • Usa el Programador de Tareas para convertir automáticamente los nuevos archivos de registro diariamente o semanalmente.
  2. Rota los registros adecuadamente

    • Los registros de depuración DNS pueden crecer rápido; configura la rotación a un tamaño manejable (por ejemplo, 100MB).
  3. Valida la salida

    • Verifica los primeros archivos convertidos antes de automatizar completamente.
  4. Planifica los requisitos de almacenamiento

    • Incluso con compresión, planifica el almacenamiento según el volumen de DNS y la retención.
  5. Protege los datos sensibles

    • Los registros DNS pueden ser sensibles; protege las salidas con controles de acceso adecuados.
  6. Documenta tu flujo de trabajo

    • Documenta los horarios de procesamiento, ubicaciones de almacenamiento y uso del análisis.
  7. Prueba con archivos de ejemplo

    • Valida los parámetros y el formato de salida antes de procesar registros críticos.
  8. Monitorea errores

    • Vigila registros corruptos, problemas de acceso o espacio insuficiente en disco.

3 - Solución de problemas

Problemas comunes y soluciones

“El archivo no es un archivo válido de registro de depuración DNS”

  • Asegúrate de que estás convirtiendo un registro de depuración de un servidor DNS real.
  • El archivo debería comenzar con Message logging started at o contener entradas de consultas DNS.
  • Si estás seguro de que el archivo es válido pero el encabezado es diferente, usa -SkipHeaderValidation.

El archivo de salida está vacío o incompleto

  • Confirma que el archivo de entrada contiene entradas de registro válidas.
  • Algunos registros pueden contener solo información del encabezado si no ocurrieron consultas.
  • Verifica que el archivo de registro no esté corrupto y contenga datos reales de consultas.

El procesamiento es muy lento

  • Asegúrate de tener suficiente memoria y que el disco no esté muy cargado.
  • Considera procesar archivos de registro más pequeños.
  • Considera usar -CompressOutput con procesamiento programado para manejar lotes más pequeños.

Errores de “Acceso denegado”

  • Ejecuta PowerShell con los permisos adecuados para leer los archivos de registro fuente y escribir en el directorio de destino.
  • Los archivos de registro DNS pueden requerir acceso de administrador.

La salida comprimida es más grande de lo esperado

  • Los registros con muchos valores únicos se comprimen menos eficientemente; esto puede ser normal.
  • La compresión ZIP generalmente sigue logrando una reducción sustancial.

El archivo de estadísticas no coincide con lo esperado

  • Verifica que estés usando -OutputType Both o -OutputType Statistic.
  • Las estadísticas son recuentos agregados (agrupaciones diarias), por lo que los valores representan totales.

Reportar problemas

Si encuentras problemas que no se cubren aquí:

  1. Verifica que estés usando la versión más reciente del módulo.
  2. Revisa los Issues en GitHub para problemas similares.
  3. Recopila información diagnóstica:
    • Versión de PowerShell ($PSVersionTable)
    • Versión del módulo (Get-Module DNSServer.DebugLogParser)
    • Archivo de registro de muestra (si es posible)
    • Mensaje completo de error y traza de pila
  4. Abre un nuevo Issue en GitHub con los detalles.

4 - Referencia de comandos del módulo

Aquí puedes encontrar una referencia para todos los comandos del módulo. Esta referencia está diseñada para ayudarte a encontrar rápidamente el comando que necesitas y entender cómo usarlo de manera efectiva.

Al hacer clic en un comando, serás llevado a una página detallada que proporciona información completa sobre el comando, incluyendo su sintaxis, parámetros, ejemplos y cualquier nota o consejo adicional para su uso.

4.1 - Convert-DNSDebugLogFile

SINOPSIS

Convierte archivos de registro de depuración del servidor DNS de Windows a formato CSV.

SINTAXIS

__AllParameterSets

Convert-DNSDebugLogFile [-InputFile] <string[]> [[-OutputFile] <string>] [[-Delimiter] <string>]
 [[-ComputerName] <string>] [[-OutputType] <string>] [[-InputCulture] <cultureinfo>]
 [[-OutputCulture] <cultureinfo>] [-SkipHeaderValidation] [-RemoveSourceFile] [-CompressOutput]
 [-WhatIf] [-Confirm] [<CommonParameters>]

ALIAS

Este cmdlet tiene los siguientes alias,

DESCRIPCIÓN

Analizador de alto rendimiento para archivos de registro de depuración del servidor DNS de Windows diseñado para hacer que la actividad del servidor DNS sea transparente, analizables y evaluables en herramientas de informes y análisis.

Los registros de depuración del servidor DNS contienen información detallada de consultas/respuestas, pero son difíciles de analizar en su formato de texto sin procesar.
Este script transforma estos registros en archivos CSV estructurados que pueden importarse en Excel, Power BI, bases de datos SQL u otras plataformas de análisis de datos.

CAPACIDADES CLAVE:

  • Analiza los 16 campos de los registros de depuración DNS (fecha, hora, protocolo, IP cliente, tipo de consulta, etc.)
  • Genera salida CSV estructurada con delimitadores personalizables
  • Crea resúmenes estadísticos opcionales que agregan actividad por cliente, protocolo y tipo de consulta
  • Procesa archivos individuales o lotes vía pipeline
  • Soporta formatos estándar y detallados de registros de depuración DNS
  • Compresión automática opcional de archivos de salida para ahorrar espacio en disco
  • Eliminación opcional de archivos fuente tras procesamiento exitoso
  • Valida encabezados de archivos de registro para asegurar integridad de datos

CASOS DE USO:

  • Análisis de seguridad: Identificar patrones sospechosos de consultas DNS
  • Monitoreo de rendimiento: Rastrear volúmenes de consultas y tiempos de respuesta
  • Planificación de capacidad: Analizar carga del servidor DNS y distribución de clientes
  • Reportes de cumplimiento: Documentar actividad DNS para auditorías
  • Solución de problemas: Investigar problemas de resolución DNS

RENDIMIENTO:
Optimizado para archivos grandes (más de 100 MB) usando:

  • Operaciones con cadenas en lugar de expresiones regulares para el análisis
  • StreamReader/StreamWriter con buffers de 64 KB
  • Generación manual de CSV para evitar sobrecarga de Export-Csv
  • Recolección eficiente de estadísticas basada en diccionarios

COMPATIBILIDAD:

  • PowerShell 5.1+ en Windows
  • PowerShell 7+ en Windows
  • Windows Server 2016 y posteriores
  • Soporta formatos de registro de depuración DNS Server 2012 R2 hasta 2025

EJEMPLOS

EJEMPLO 1

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log"

Convierte el registro de depuración DNS a formato CSV usando configuraciones predeterminadas.
Salida: C:\Logs\dns.csv (solo archivo de datos, delimitador punto y coma).

EJEMPLO 2

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputType Both

Convierte el registro DNS y genera ambos archivos de salida.
Salida: C:\Logs\dns.csv (datos) y C:\Logs\dns_statistic.csv (estadísticas agregadas).

EJEMPLO 3

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputType Statistic

Genera solo el archivo de estadísticas sin crear el archivo CSV completo.
Salida: C:\Logs\dns_statistic.csv (solo estadísticas).

EJEMPLO 4

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputFile "C:\Output\parsed.csv"

Convierte el registro DNS a una ubicación de salida personalizada.
Salida: C:\Output\parsed.csv.

EJEMPLO 5

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -Delimiter "," -ComputerName "DNS01" -OutputType Both

Convierte el registro usando coma como delimitador con una columna ComputerName.
Salida: C:\Logs\dns.csv y C:\Logs\dns_statistic.csv, ambos con “DNS01” en la columna ComputerName.

EJEMPLO 6

PS C:\> Get-ChildItem "C:\Logs\*.log" | .\Convert-DnsDebugLogFile.ps1 -OutputType Both

Procesa múltiples archivos de registro DNS vía pipeline.
Salida: Para cada archivo .log, genera archivos .csv (datos) y _statistic.csv (estadísticas).

EJEMPLO 7

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -CompressOutput

Convierte el registro DNS y comprime la salida en un archivo ZIP.
Salida: C:\Logs\dns.zip que contiene dns.csv. El archivo csv sin comprimir se elimina tras la compresión.

EJEMPLO 8

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputType Both -CompressOutput

Convierte el registro con estadísticas y comprime ambos archivos de salida.
Salida: C:\Logs\dns.zip que contiene dns.csv y dns_statistic.csv.

EJEMPLO 9

PS C:\> Get-ChildItem "C:\Logs\*.log" | .\Convert-DnsDebugLogFile.ps1 -RemoveSourceFile -CompressOutput

Procesa múltiples archivos, comprime la salida y elimina los archivos fuente.
Cada archivo .log se convierte a .zip comprimido y luego se elimina el archivo .log original.
Ideal para pipelines automatizados de archivo de registros.

EJEMPLO 10

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\old_dns.log" -RemoveSourceFile -Verbose

Convierte el archivo y elimina el archivo fuente tras procesamiento exitoso.
La salida detallada confirma la eliminación. Usar con precaución ya que los archivos fuente se eliminan permanentemente.

EJEMPLO 11

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -InputCulture 'de-DE'

Convierte un registro DNS de un servidor Windows alemán.
Usar cuando el archivo de registro proviene de un servidor con configuración regional diferente.

EJEMPLO 12

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -InputCulture ([System.Globalization.CultureInfo]::GetCultureInfo('sv-SE'))

Convierte un registro DNS de un servidor Windows sueco usando formato de fecha ISO (AAAA-MM-DD).
Útil para procesar registros de servidores con configuraciones regionales distintas.

EJEMPLO 13

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -InputCulture 'de-DE' -OutputCulture 'en-US'

Convierte un registro DNS de un servidor alemán y formatea fechas para sistemas de EE. UU.
Útil para procesar registros internacionales para sistemas basados en EE. UU.

EJEMPLO 14

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputCulture ([System.Globalization.CultureInfo]::InvariantCulture)

Convierte un registro DNS y formatea fechas de salida usando formato ISO 8601 (AAAA-MM-DD).
Ideal para compatibilidad multiplataforma o escenarios de intercambio de datos.

EJEMPLO 15

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -WhatIf

Muestra qué pasaría si se ejecuta el comando sin crear archivos realmente.
Útil para probar parámetros antes de procesar datos reales.

EJEMPLO 16

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -RemoveSourceFile -CompressOutput -WhatIf

Previsualiza el flujo completo incluyendo compresión y eliminación de archivos fuente.
No se crean, comprimen ni eliminan archivos; solo muestra qué ocurriría.

PARÁMETROS

-CompressOutput

Comprime los archivos CSV de salida en un archivo ZIP tras su creación.

Crea un archivo .zip que contiene los archivos CSV generados y luego elimina los CSV sin comprimir.
El archivo ZIP se crea en el mismo directorio que el CSV de salida con el mismo nombre base.
La compresión ocurre inmediatamente después de procesar cada archivo para gestionar eficientemente el espacio en disco.

Beneficios:

  • Reduce significativamente el uso de espacio en disco (los archivos CSV se comprimen muy bien)
  • Simplifica la gestión y archivo de archivos
  • Adecuado para almacenamiento a largo plazo de registros procesados

Ejemplo: El archivo ‘dns.log’ genera ‘dns.csv’ que se comprime a ‘dns.zip’ y luego se elimina ‘dns.csv’.

Compatible con PowerShell 5.1+ y Windows Server 2016+.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ComputerName

Opcional.
Si se especifica, agrega una columna ComputerName al CSV con el valor indicado.
Útil al consolidar registros de múltiples servidores DNS.

Importante: Esto NO es una función de remoting.
El script procesa solo archivos locales.

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Server
- DNSServer
- HostName
ParameterSets:
- Name: (All)
  Position: 3
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Confirm

Solicita confirmación antes de ejecutar el cmdlet.

Cuando se especifica, pide confirmación antes de:

  • Procesar cada archivo de registro DNS
  • Eliminar archivos fuente (cuando se usa -RemoveSourceFile)
  • Sobrescribir archivos de salida existentes

Útil para procesamiento interactivo cuando quieres controlar qué archivos se procesan.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Delimiter

Carácter delimitador para la salida CSV.

Por defecto es punto y coma ‘;’

Type: String
DefaultValue: ;
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 2
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputCulture

Especifica la cultura para analizar valores de fecha/hora en el registro de depuración DNS.

Los registros de depuración DNS usan el formato de fecha de la configuración regional de Windows del servidor donde se generó el registro.
Este parámetro permite analizar registros de servidores con configuraciones regionales diferentes.

Por defecto es la cultura actual ([System.Globalization.CultureInfo]::CurrentCulture).

Valores comunes de cultura:

  • ‘de-DE’ o ‘de-AT’: formato alemán (DD.MM.AAAA o DD/MM/AAAA)
  • ’en-US’: formato estadounidense (MM/DD/AAAA)
  • ’en-GB’: formato británico (DD/MM/AAAA)
  • ‘sv-SE’: formato sueco/ISO (AAAA-MM-DD)

Ejemplo: -InputCulture ‘de-DE’ para registros de un servidor Windows alemán.
Ejemplo: -InputCulture ([System.Globalization.CultureInfo]::GetCultureInfo(‘sv-SE’)) para registros suecos.

Type: CultureInfo
DefaultValue: '[System.Globalization.CultureInfo]::CurrentCulture'
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 5
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputFile

Ruta al archivo de registro de depuración DNS a analizar.
Soporta arrays para procesar múltiples archivos.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- FullName
- FilePath
- InputPath
- File
- Path
ParameterSets:
- Name: (All)
  Position: 0
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputCulture

Especifica la cultura para formatear valores de fecha/hora en los archivos CSV de salida.

Este parámetro controla cómo se escriben los valores DateTime en la salida CSV.
Es útil cuando los archivos CSV serán consumidos por aplicaciones o sistemas con configuraciones regionales específicas.

Por defecto es la cultura actual ([System.Globalization.CultureInfo]::CurrentCulture).

Valores comunes de cultura:

  • ’en-US’: formato estadounidense (MM/DD/AAAA)
  • ‘de-DE’: formato alemán (DD.MM.AAAA)
  • ’en-GB’: formato británico (DD/MM/AAAA)
  • ‘sv-SE’: formato sueco/ISO (AAAA-MM-DD)

Ejemplo: -OutputCulture ’en-US’ para formatear fechas para sistemas de EE. UU.
Ejemplo: -OutputCulture ([System.Globalization.CultureInfo]::InvariantCulture) para formato ISO.

Type: CultureInfo
DefaultValue: '[System.Globalization.CultureInfo]::CurrentCulture'
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 6
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputFile

Opcional.
Ruta para el archivo CSV de salida.
Si no se especifica, usa el nombre del archivo de entrada con extensión .csv.

Debe ser una ruta de archivo, no un directorio.
Si solo quieres especificar el directorio de salida, omite este parámetro y el script usará el mismo directorio que el archivo de entrada.

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Output
- Destination
- OutFile
- OutputPath
ParameterSets:
- Name: (All)
  Position: 1
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputType

Especifica el tipo de salida a generar.

Valores válidos:

  • ‘CSV’: Genera solo el archivo CSV con datos analizados (predeterminado)
  • ‘Statistic’: Genera solo el archivo de estadísticas con datos agregados
  • ‘Both’: Genera ambos archivos CSV y estadísticas

Por defecto es ‘Both’.

Type: String
DefaultValue: Both
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 4
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-RemoveSourceFile

Elimina el archivo de registro de depuración DNS fuente tras un procesamiento exitoso.

Usa este interruptor para borrar automáticamente los archivos de entrada después de que se hayan analizado correctamente y creado los archivos de salida.
Esto es útil para:

  • Pipelines automatizados de procesamiento de registros
  • Gestión de espacio en disco en escenarios de recopilación de registros
  • Evitar reprocesamiento de archivos ya convertidos

Características de seguridad:

  • Solo elimina archivos tras procesamiento y creación de salida exitosa
  • Omite eliminación si el procesamiento falla o se interrumpe
  • No puede usarse con SkipHeaderValidation por seguridad

Advertencia: Los archivos fuente se eliminan permanentemente.
Asegúrate de que los archivos de salida son válidos antes de usar esta opción.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-SkipHeaderValidation

Omite la validación del encabezado del archivo de registro de depuración DNS.

Por defecto, el script valida que los archivos de entrada tengan una estructura válida de encabezado de registro de depuración DNS.
Usa este interruptor para procesar archivos sin validación de encabezado, lo que puede ser útil para:

  • Procesar formatos de registro modificados o personalizados
  • Solucionar problemas de validación
  • Procesar registros con encabezados no estándar

Advertencia: Usar este parámetro puede causar errores de procesamiento si el archivo no es un registro DNS válido.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

Muestra qué pasaría si se ejecuta el cmdlet.
El cmdlet no se ejecuta.

Cuando se especifica, muestra información detallada sobre las operaciones que se realizarían sin ejecutarlas realmente.
Útil para:

  • Previsualizar qué archivos se procesarían
  • Verificar rutas de archivos de salida antes de procesar
  • Probar scripts antes de ejecutarlos en producción
Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

Este cmdlet soporta los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para más información, consulta
about_CommonParameters.

ENTRADAS

System.String[]

NOTAS

Versión: 1.2.0.0
Autor: Andreas Bellstedt, Copilot
Fecha: 2026-01-23
Palabras clave: Microsoft, Windows Server, DNSServer, DNS, DebugLog, LogParser

ENLACES RELACIONADOS