À propos de cette documentation

Ceci est le site officiel de documentation pour DNSServer.DebugLogParser, un module PowerShell qui transforme les fichiers de journal de débogage du serveur DNS Windows en données CSV structurées et analysables.

À propos du module

DNSServer.DebugLogParser est né d’un besoin réel : les journaux de débogage du serveur DNS Windows sont lisibles par l’humain, mais pas adaptés à l’analyse ou au reporting. Ce module comble ce fossé en convertissant les fichiers journaux bruts en format CSV structuré, compatible avec des outils courants comme Excel, Power BI, bases de données SQL et systèmes SIEM.

Principes clés de conception :

  • Performance avant tout — optimisé pour des fichiers de plus de 100 Mo grâce à une entrée/sortie en streaming et des opérations sur chaînes
  • Compatibilité multi-édition — supporte PowerShell Desktop (5.1+) et Core (7.x)
  • Prêt pour la production — inclut validation des en-têtes, gestion des erreurs et compression optionnelle
  • Compatible pipeline — s’intègre naturellement à l’architecture pipeline de PowerShell

Ressources

Contribution

Les contributions sont les bienvenues. Si vous trouvez des problèmes, des erreurs ou avez des suggestions d’amélioration, veuillez ouvrir un ticket ou une pull request sur le dépôt GitHub.

1 - Aperçu

DNSServer.DebugLogParser est un module PowerShell qui transforme les fichiers de journal de débogage du serveur DNS Windows en données CSV structurées et analysables pour l’analyse de sécurité, la surveillance des performances, le dépannage et les rapports de conformité.

Qu’est-ce qu’un journal de débogage DNS ?

La journalisation de débogage DNS est une fonctionnalité du serveur DNS Windows qui enregistre des informations détaillées sur les opérations DNS. Lorsqu’elle est activée, le serveur DNS écrit des entrées de journal dans un fichier texte (généralement dns.log) dans le répertoire du serveur DNS.

Chaque entrée de journal contient jusqu’à 16 champs, notamment :

  • Date et heure de la requête
  • Protocole utilisé (UDP ou TCP)
  • Direction (Envoi ou Réception)
  • Adresse IP du client
  • Type de requête (A, AAAA, MX, PTR, etc.)
  • Nom de domaine interrogé
  • Code de réponse (NOERROR, NXDOMAIN, etc.)
  • Indicateurs et options de requête
  • Adresse IP en réponse (pour les requêtes réussies)
  • Numéros de port et autres détails techniques

Pourquoi analyser les journaux de débogage DNS ?

Les journaux DNS sont essentiels pour :

Dépannage

  • Diagnostiquer les échecs de résolution de noms
  • Identifier les clients ou applications mal configurés
  • Retracer la source des requêtes problématiques
  • Vérifier la bonne configuration DNS et les transferts de zone

Surveillance des performances

  • Identifier les sources de requêtes à fort volume
  • Analyser les types et motifs de requêtes pour optimiser l’infrastructure DNS
  • Détecter les problèmes de configuration générant un nombre excessif de requêtes
  • Suivre les temps de réponse et les taux de réussite
  • Surveiller la charge et la capacité du serveur DNS

Analyse de sécurité

  • Détecter les tentatives de tunneling DNS et d’exfiltration de données
  • Identifier les domaines associés aux malwares et serveurs de commande et contrôle
  • Suivre les motifs de requêtes suspects pouvant indiquer des systèmes compromis
  • Surveiller les attaques par amplification DNS
  • Enquêter sur les incidents de sécurité et tracer l’activité des attaquants

Conformité et audit

  • Répondre aux exigences réglementaires en matière de journalisation et de conservation
  • Documenter l’activité réseau pour les pistes d’audit
  • Générer des rapports pour la direction et les responsables conformité
  • Démontrer la diligence raisonnable dans la surveillance de la sécurité

Fonctionnement du module (vue d’ensemble)

Le module est optimisé pour les fichiers volumineux et transforme les journaux de débogage DNS en sortie CSV structurée. Il prend en charge les enregistrements multi-lignes (par exemple les blocs de détails PACKET et les lignes de continuation indentées) afin que les messages d’événements/diagnostics et les détails des paquets restent attachés au bon enregistrement.

Fonctionnalités clés :

  • Analyse les champs natifs des journaux de débogage DNS et produit une mise en forme CSV cohérente
  • Gère plusieurs versions du serveur DNS (2012 R2 à 2025)
  • Compatible avec PowerShell Desktop (5.1+) et Core (7.x)
  • Traite des fichiers de toute taille (testé avec des fichiers de plus de 100 Mo)
  • Valide les en-têtes des fichiers journaux pour garantir l’intégrité des données
  • Génère des résumés statistiques optionnels
  • Supporte le traitement par lots via le pipeline PowerShell
  • Compresse optionnellement les fichiers de sortie pour économiser de l’espace disque
  • Peut supprimer automatiquement les fichiers sources après traitement réussi
  • Analyse des dates sensible à la culture pour les journaux DNS internationaux
  • Formatage des dates sensible à la culture pour les exigences de sortie internationales

Licence et support

Le module est distribué sous licence MIT. Le support communautaire est disponible via les Issues GitHub.

2 - Bonnes pratiques opérationnelles

Lors de l’utilisation de DNSServer.DebugLogParser en production :

  1. Planifie un traitement régulier

    • Utilise le Planificateur de tâches pour convertir automatiquement les nouveaux fichiers journaux quotidiennement ou hebdomadairement.
  2. Fais une rotation appropriée des journaux

    • Les journaux de débogage DNS peuvent rapidement grossir ; configure une rotation à une taille gérable (par exemple 100 Mo).
  3. Valide la sortie

    • Vérifie les premiers fichiers convertis avant d’automatiser complètement.
  4. Planifie les besoins en stockage

    • Même avec compression, prévois le stockage en fonction du volume DNS et de la durée de conservation.
  5. Sécurise les données sensibles

    • Les journaux DNS peuvent contenir des informations sensibles ; protège les sorties avec des contrôles d’accès appropriés.
  6. Documente ton flux de travail

    • Documente les plannings de traitement, les emplacements de stockage et l’utilisation pour l’analyse.
  7. Teste avec des fichiers d’exemple

    • Valide les paramètres et le format de sortie avant de traiter des journaux critiques.
  8. Surveille les erreurs

    • Sois vigilant face aux journaux corrompus, problèmes d’accès ou espace disque insuffisant.

3 - Dépannage

Problèmes courants et solutions

« Le fichier n’est pas un fichier journal de débogage DNS valide »

  • Assure-toi de convertir un vrai journal de débogage du serveur DNS.
  • Le fichier doit commencer par Message logging started at ou contenir des entrées de requêtes DNS.
  • Si tu es certain que le fichier est valide mais que l’en-tête diffère, utilise -SkipHeaderValidation.

Le fichier de sortie est vide ou incomplet

  • Vérifie que le fichier d’entrée contient des entrées de journal valides.
  • Certains journaux peuvent ne contenir que des informations d’en-tête s’il n’y a pas eu de requêtes.
  • Assure-toi que le fichier journal n’est pas corrompu et contient des données de requêtes réelles.

Le traitement est très lent

  • Vérifie que la mémoire est suffisante et que le disque n’est pas fortement sollicité.
  • Envisage de traiter des fichiers journaux plus petits.
  • Envisage d’utiliser -CompressOutput avec un traitement planifié pour gérer des lots plus petits.

Erreurs « Accès refusé »

  • Lance PowerShell avec les permissions appropriées pour lire les fichiers journaux source et écrire dans le répertoire de destination.
  • Les fichiers journaux DNS peuvent nécessiter un accès administrateur.

La sortie compressée est plus volumineuse que prévu

  • Les journaux avec beaucoup de valeurs uniques se compressent moins efficacement ; cela peut être normal.
  • La compression ZIP permet néanmoins généralement une réduction substantielle.

Le fichier de statistiques ne correspond pas aux attentes

  • Vérifie que tu utilises -OutputType Both ou -OutputType Statistic.
  • Les statistiques sont des totaux agrégés (groupements quotidiens), donc les valeurs représentent des totaux.

Signaler des problèmes

Si tu rencontres des problèmes non couverts ici :

  1. Vérifie que tu utilises la dernière version du module.
  2. Consulte les Issues GitHub pour des problèmes similaires.
  3. Rassemble les informations de diagnostic :
    • Version de PowerShell ($PSVersionTable)
    • Version du module (Get-Module DNSServer.DebugLogParser)
    • Fichier journal d’exemple (si possible)
    • Message d’erreur complet et trace de la pile
  4. Ouvre une nouvelle issue GitHub avec les détails.

4 - Référence des commandes du module

Ici, tu peux trouver une référence pour toutes les commandes du module. Cette référence est conçue pour t’aider à trouver rapidement la commande dont tu as besoin et comprendre comment l’utiliser efficacement.

En cliquant sur une commande, tu seras dirigé vers une page détaillée qui fournit des informations complètes sur la commande, y compris sa syntaxe, ses paramètres, des exemples, ainsi que des notes ou astuces supplémentaires pour son utilisation.

4.1 - Convert-DNSDebugLogFile

SYNOPSIS

Convertit les fichiers journaux de débogage du serveur DNS Windows au format CSV.

SYNTAXE

__AllParameterSets

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

ALIAS

Cette cmdlet possède les alias suivants,

DESCRIPTION

Analyseur haute performance pour les fichiers journaux de débogage du serveur DNS Windows, conçu pour rendre l’activité du serveur DNS transparente, analysable et exploitable dans les outils de reporting et d’analyse.

Les journaux de débogage du serveur DNS contiennent des informations détaillées sur les requêtes/réponses mais sont difficiles à analyser dans leur format texte brut.
Ce script transforme ces journaux en fichiers CSV structurés pouvant être importés dans Excel, Power BI, bases de données SQL ou autres plateformes d’analyse de données.

CAPACITÉS PRINCIPALES :

  • Analyse les 16 champs des journaux de débogage DNS (date, heure, protocole, IP client, type de requête, etc.)
  • Génère une sortie CSV structurée avec délimiteurs personnalisables
  • Crée des résumés statistiques optionnels agrégés par client, protocole et type de requête
  • Traite des fichiers uniques ou des lots via pipeline
  • Supporte les formats standard et détaillé des journaux de débogage DNS
  • Compression automatique optionnelle des fichiers de sortie pour économiser de l’espace disque
  • Suppression optionnelle des fichiers sources après traitement réussi
  • Validation des en-têtes des fichiers journaux pour garantir l’intégrité des données

CAS D’UTILISATION :

  • Analyse de sécurité : identifier les schémas suspects de requêtes DNS
  • Surveillance de performance : suivre les volumes de requêtes et temps de réponse
  • Planification de capacité : analyser la charge du serveur DNS et la répartition des clients
  • Reporting de conformité : documenter l’activité DNS pour les audits
  • Dépannage : investiguer les problèmes de résolution DNS

PERFORMANCE :
Optimisé pour les gros fichiers (100 Mo+) grâce à :

  • Opérations sur chaînes plutôt que regex pour le parsing
  • StreamReader/StreamWriter avec tampons de 64 Ko
  • Génération manuelle du CSV pour éviter la surcharge d’Export-Csv
  • Collecte efficace des statistiques via dictionnaire

COMPATIBILITÉ :

  • PowerShell 5.1+ sur Windows
  • PowerShell 7+ sur Windows
  • Windows Server 2016 et versions ultérieures
  • Supporte les formats de journaux DNS Server 2012 R2 à 2025

EXEMPLES

EXEMPLE 1

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

Convertit le journal de débogage DNS en format CSV avec les paramètres par défaut.
Sortie : C:\Logs\dns.csv (fichier de données uniquement, délimiteur point-virgule).

EXEMPLE 2

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

Convertit le journal DNS et génère les deux fichiers de sortie.
Sorties : C:\Logs\dns.csv (données) et C:\Logs\dns_statistic.csv (statistiques agrégées).

EXEMPLE 3

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

Génère uniquement le fichier de statistiques sans créer le fichier CSV complet.
Sortie : C:\Logs\dns_statistic.csv (statistiques uniquement).

EXEMPLE 4

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

Convertit le journal DNS vers un emplacement de sortie personnalisé.
Sortie : C:\Output\parsed.csv.

EXEMPLE 5

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

Convertit le journal en utilisant la virgule comme délimiteur avec une colonne ComputerName.
Sorties : C:\Logs\dns.csv et C:\Logs\dns_statistic.csv, tous deux avec “DNS01” dans la colonne ComputerName.

EXEMPLE 6

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

Traite plusieurs fichiers journaux DNS via pipeline.
Sorties : pour chaque fichier .log, génère les fichiers .csv (données) et _statistic.csv (statistiques).

EXEMPLE 7

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

Convertit le journal DNS et compresse la sortie dans une archive ZIP.
Sortie : C:\Logs\dns.zip contenant dns.csv. Le fichier csv non compressé est supprimé après compression.

EXEMPLE 8

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

Convertit le journal avec statistiques et compresse les deux fichiers de sortie.
Sortie : C:\Logs\dns.zip contenant dns.csv et dns_statistic.csv.

EXEMPLE 9

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

Traite plusieurs fichiers journaux, compresse la sortie et supprime les fichiers sources.
Chaque fichier .log est converti en .zip compressé, puis le fichier source .log est supprimé.
Idéal pour les pipelines automatisés d’archivage de journaux.

EXEMPLE 10

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

Convertit le fichier journal et supprime la source après traitement réussi.
La sortie détaillée confirme la suppression du fichier. À utiliser avec précaution car les fichiers sources sont supprimés définitivement.

EXEMPLE 11

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

Convertit un journal DNS provenant d’un serveur Windows allemand.
À utiliser lorsque le fichier journal provient d’un serveur avec des paramètres régionaux différents.

EXEMPLE 12

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

Convertit un journal DNS d’un serveur Windows suédois utilisant le format de date ISO (YYYY-MM-DD).
Utile pour traiter des journaux de serveurs avec des paramètres régionaux différents.

EXEMPLE 13

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

Convertit un journal DNS d’un serveur allemand et formate les dates de sortie pour les systèmes américains.
Utile pour traiter des journaux de serveurs internationaux destinés à des systèmes basés aux États-Unis.

EXEMPLE 14

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

Convertit un journal DNS et formate les dates de sortie au format ISO 8601 (YYYY-MM-DD).
Idéal pour la compatibilité multiplateforme ou les scénarios d’échange de données.

EXEMPLE 15

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

Montre ce qui se passerait si la commande était exécutée sans créer de fichiers.
Utile pour tester les paramètres avant de traiter les données réelles.

EXEMPLE 16

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

Prévisualise le flux complet incluant compression et suppression des fichiers sources.
Aucun fichier n’est créé, compressé ou supprimé — montre uniquement ce qui se passerait.

PARAMÈTRES

-CompressOutput

Compresse les fichiers CSV de sortie dans une archive ZIP après leur création.

Crée un fichier .zip contenant le(s) fichier(s) CSV généré(s), puis supprime les CSV non compressés.
Le fichier ZIP est créé dans le même répertoire que le CSV de sortie avec le même nom de base.
La compression se fait immédiatement après le traitement de chaque fichier pour gérer efficacement l’espace disque.

Avantages :

  • Réduit significativement l’espace disque utilisé (les fichiers CSV compressent très bien)
  • Simplifie la gestion et l’archivage des fichiers
  • Adapté au stockage à long terme des journaux traités

Exemple : le fichier ‘dns.log’ génère ‘dns.csv’ qui est compressé en ‘dns.zip’, puis ‘dns.csv’ est supprimé.

Compatible avec PowerShell 5.1+ et 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

Optionnel.
Si spécifié, ajoute une colonne ComputerName dans la sortie CSV avec la valeur indiquée.
Utile pour consolider des journaux provenant de plusieurs serveurs DNS.

Important : ce n’est PAS une fonctionnalité de remoting.
Le script traite uniquement des fichiers locaux.

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

Demande une confirmation avant d’exécuter la cmdlet.

Si spécifié, demande confirmation avant :

  • Le traitement de chaque fichier journal DNS
  • La suppression des fichiers sources (lorsque -RemoveSourceFile est utilisé)
  • L’écrasement des fichiers de sortie existants

Utile pour un traitement interactif lorsque tu souhaites contrôler les fichiers traités.

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

Caractère délimiteur pour la sortie CSV.

Par défaut, point-virgule ‘;’

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

-InputCulture

Spécifie la culture utilisée pour analyser les valeurs date/heure dans le journal DNS.

Les journaux de débogage DNS utilisent le format de date de la locale Windows du serveur où le journal a été généré.
Ce paramètre permet d’analyser des journaux provenant de serveurs avec des paramètres régionaux différents.

Par défaut, la culture courante ([System.Globalization.CultureInfo]::CurrentCulture).

Valeurs culture courantes :

  • ‘de-DE’ ou ‘de-AT’ : format allemand (JJ.MM.AAAA ou JJ/MM/AAAA)
  • ’en-US’ : format américain (MM/JJ/AAAA)
  • ’en-GB’ : format britannique (JJ/MM/AAAA)
  • ‘sv-SE’ : format suédois/ISO (AAAA-MM-JJ)

Exemple : -InputCulture ‘de-DE’ pour des journaux d’un serveur Windows allemand.
Exemple : -InputCulture ([System.Globalization.CultureInfo]::GetCultureInfo(‘sv-SE’)) pour des journaux suédois.

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

Chemin vers le fichier journal DNS à analyser.
Supporte les tableaux pour traiter plusieurs fichiers.

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

Spécifie la culture utilisée pour formater les valeurs date/heure dans les fichiers CSV de sortie.

Ce paramètre contrôle la façon dont les valeurs DateTime sont écrites dans la sortie CSV.
Utile lorsque les fichiers CSV seront utilisés par des applications ou systèmes avec des paramètres régionaux spécifiques.

Par défaut, la culture courante ([System.Globalization.CultureInfo]::CurrentCulture).

Valeurs culture courantes :

  • ’en-US’ : format américain (MM/JJ/AAAA)
  • ‘de-DE’ : format allemand (JJ.MM.AAAA)
  • ’en-GB’ : format britannique (JJ/MM/AAAA)
  • ‘sv-SE’ : format suédois/ISO (AAAA-MM-JJ)

Exemple : -OutputCulture ’en-US’ pour formater les dates pour les systèmes américains.
Exemple : -OutputCulture ([System.Globalization.CultureInfo]::InvariantCulture) pour le format 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

Optionnel.
Chemin du fichier CSV de sortie.
Si non spécifié, utilise le nom du fichier d’entrée avec extension .csv.

Doit être un chemin de fichier, pas un répertoire.
Si tu souhaites spécifier uniquement le répertoire de sortie, omets ce paramètre et le script utilisera le même répertoire que le fichier d’entrée.

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

Spécifie le type de sortie à générer.

Valeurs valides :

  • ‘CSV’ : génère uniquement le fichier CSV avec les données analysées (par défaut)
  • ‘Statistic’ : génère uniquement le fichier de statistiques avec les données agrégées
  • ‘Both’ : génère à la fois les fichiers CSV et statistiques

Par défaut : ‘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

Supprime le fichier journal DNS source après un traitement réussi.

Utilise ce commutateur pour supprimer automatiquement les fichiers d’entrée après qu’ils ont été analysés avec succès et que les fichiers de sortie ont été créés.
Utile pour :

  • Pipelines automatisés de traitement de journaux
  • Gestion de l’espace disque dans les scénarios de collecte de journaux
  • Éviter le retraitement des fichiers déjà convertis

Fonctions de sécurité :

  • Supprime uniquement les fichiers après un traitement réussi et la création des fichiers de sortie
  • Ignore la suppression si le traitement échoue ou est interrompu
  • Ne peut pas être utilisé avec SkipHeaderValidation pour des raisons de sécurité

Attention : les fichiers sources sont supprimés définitivement.
Assure-toi que les fichiers de sortie sont valides avant d’utiliser cette option.

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

Ignore la validation de l’en-tête du journal DNS.

Par défaut, le script vérifie que les fichiers d’entrée ont une structure d’en-tête valide pour les journaux de débogage DNS.
Utilise ce commutateur pour traiter les fichiers sans validation d’en-tête, ce qui peut être utile pour :

  • Traiter des formats de journaux modifiés ou personnalisés
  • Dépanner des problèmes de validation
  • Traiter des journaux avec des en-têtes non standards

Attention : l’utilisation de ce paramètre peut entraîner des erreurs de traitement si le fichier n’est pas un journal DNS valide.

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

Montre ce qui se passerait si la cmdlet était exécutée.
La cmdlet n’est pas réellement exécutée.

Si spécifié, affiche des informations détaillées sur les opérations qui seraient effectuées sans les exécuter.
Utile pour :

  • Prévisualiser les fichiers qui seraient traités
  • Vérifier les chemins des fichiers de sortie avant traitement
  • Tester les scripts avant exécution en production
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

Cette cmdlet supporte les paramètres communs : -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, et -WarningVariable. Pour plus d’informations, voir
about_CommonParameters.

ENTRÉES

System.String[]

NOTES

Version : 1.2.0.0
Auteur : Andreas Bellstedt, Copilot
Date : 2026-01-23
Mots-clés : Microsoft, Windows Server, DNSServer, DNS, DebugLog, LogParser

LIENS CONNEXES