Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten. Druckvorgang starten.

Zur Standardansicht zurückkehren.

About this documentation

Dies ist die offizielle Dokumentationsseite für DNSServer.DebugLogParser, ein PowerShell-Modul, das Windows DNS Server Debug-Logdateien in strukturierte, analysierbare CSV-Daten umwandelt.

Das Modul wird von Andreas Bellstedt (Andi) entwickelt und gepflegt, einem IT-Experten mit über 20 Jahren Erfahrung in Unternehmensumgebungen. Sein stärkster Fokus liegt auf Identity & Access Management und Automatisierung, mit PowerShell im Zentrum seiner täglichen Arbeit.

Über das Modul

DNSServer.DebugLogParser entstand aus einem realen Bedarf: Windows DNS Server Debug-Logs sind menschenlesbar, aber nicht für Analysen oder Berichte geeignet. Dieses Modul schließt diese Lücke, indem es Roh-Logdateien in strukturiertes CSV-Format konvertiert, das sich in gängige Tools wie Excel, Power BI, SQL-Datenbanken und SIEM-Systeme integriert.

Zentrale Designprinzipien:

  • Performance zuerst — optimiert für 100MB+ Dateien mit Streaming-I/O und String-Operationen
  • Editionsübergreifende Kompatibilität — unterstützt PowerShell Desktop (5.1+) und Core (7.x)
  • Produktionsbereit — mit Header-Validierung, Fehlerbehandlung und optionaler Komprimierung
  • Pipeline-freundlich — integriert sich natürlich in die Pipeline-Architektur von PowerShell

Ressourcen

Mitwirken

Beiträge sind willkommen. Wenn Sie Fehler finden oder Verbesserungsvorschläge haben, öffnen Sie bitte ein Issue oder einen Pull Request auf dem GitHub-Repository.

1 - Übersicht

DNSServer.DebugLogParser ist ein PowerShell-Modul, das Windows DNS-Server-Debugprotokolldateien in strukturierte, analysierbare CSV-Daten für Sicherheitsanalysen, Leistungsüberwachung, Fehlerbehebung und Compliance-Berichte umwandelt.

Was ist ein DNS-Debugprotokoll?

DNS-Debug-Logging ist eine Funktion des Windows DNS-Servers, die detaillierte Informationen über DNS-Vorgänge aufzeichnet. Wenn aktiviert, schreibt der DNS-Server Protokolleinträge in eine Textdatei (typischerweise dns.log) im Verzeichnis des DNS-Servers.

Jeder Protokolleintrag enthält bis zu 16 Felder, darunter:

  • Datum und Uhrzeit der Abfrage
  • Verwendetes Protokoll (UDP oder TCP)
  • Richtung (Senden oder Empfangen)
  • Client-IP-Adresse
  • Abfragetyp (A, AAAA, MX, PTR usw.)
  • Abgefragter Domainname
  • Antwortcode (NOERROR, NXDOMAIN usw.)
  • Abfrageflags und Optionen
  • IP-Adresse in der Antwort (bei erfolgreichen Abfragen)
  • Portnummern und weitere technische Details

Warum DNS-Debugprotokolle parsen?

DNS-Protokolle sind entscheidend für:

Fehlerbehebung

  • Diagnose von Namensauflösungsfehlern
  • Identifikation falsch konfigurierter Clients oder Anwendungen
  • Auffinden der Quelle problematischer Abfragen
  • Überprüfung der korrekten DNS-Konfiguration und Zonentransfers

Leistungsüberwachung

  • Erkennung von Quellen mit hohem Abfragevolumen
  • Analyse von Abfragetypen und -mustern zur Optimierung der DNS-Infrastruktur
  • Erkennung von Konfigurationsproblemen, die zu übermäßigen Abfragen führen
  • Verfolgung von Antwortzeiten und Erfolgsraten
  • Überwachung der DNS-Server-Auslastung und Kapazität

Sicherheitsanalyse

  • Erkennung von DNS-Tunneling und Datenexfiltrationsversuchen
  • Identifikation von Domains, die mit Malware und Command-and-Control-Servern in Verbindung stehen
  • Verfolgung verdächtiger Abfragemuster, die auf kompromittierte Systeme hinweisen können
  • Überwachung von DNS-Amplifikationsangriffen
  • Untersuchung von Sicherheitsvorfällen und Nachverfolgung von Angreiferaktivitäten

Compliance und Auditing

  • Erfüllung regulatorischer Anforderungen an Protokollierung und Aufbewahrung
  • Dokumentation der Netzwerkaktivität für Prüfpfade
  • Erstellung von Berichten für Management und Compliance-Beauftragte
  • Nachweis der Sorgfaltspflicht bei der Sicherheitsüberwachung

Funktionsweise des Moduls (auf hoher Ebene)

Das Modul ist für große Dateien optimiert und verarbeitet DNS-Debugprotokolle zu strukturiertem CSV-Ausgabeformat. Es unterstützt mehrzeilige Einträge (z. B. PACKET-Detailblöcke und eingerückte Fortsetzungszeilen), sodass Ereignis-/Diagnosemeldungen und Paketdetails dem korrekten Eintrag zugeordnet bleiben.

Wichtige Funktionen:

  • Parst die nativen DNS-Debugprotokollfelder und erzeugt ein konsistentes CSV-Layout
  • Unterstützt mehrere DNS-Server-Versionen (2012 R2 bis 2025)
  • Funktioniert mit PowerShell Desktop (5.1+) und Core (7.x)
  • Verarbeitet Dateien beliebiger Größe (getestet mit über 100 MB großen Dateien)
  • Validiert Protokolldateikopfzeilen zur Sicherstellung der Datenintegrität
  • Erzeugt optionale statistische Zusammenfassungen
  • Unterstützt Batch-Verarbeitung über die PowerShell-Pipeline
  • Komprimiert Ausgabedateien optional zur Einsparung von Speicherplatz
  • Kann Quell-Dateien nach erfolgreicher Verarbeitung automatisch löschen
  • Kulturabhängige Datumsparsing für internationale DNS-Server-Protokolle
  • Kulturabhängige Datumsformatierung für internationale Ausgabeanforderungen

Lizenzierung und Support

Das Modul wird unter der MIT-Lizenz veröffentlicht. Community-Support ist über GitHub Issues verfügbar.

2 - Operative Best Practices

Bei der Verwendung von DNSServer.DebugLogParser in der Produktion:

  1. Regelmäßige Verarbeitung planen

    • Nutze den Taskplaner, um neue Protokolldateien täglich oder wöchentlich automatisch zu konvertieren.
  2. Protokolle angemessen rotieren

    • DNS-Debug-Protokolle können schnell wachsen; konfiguriere die Rotation bei einer handhabbaren Größe (z. B. 100 MB).
  3. Ausgabe validieren

    • Überprüfe die ersten konvertierten Dateien, bevor du die Automatisierung vollständig einsetzt.
  4. Speicherbedarf planen

    • Selbst mit Kompression solltest du den Speicherbedarf basierend auf DNS-Volumen und Aufbewahrungszeit planen.
  5. Sensible Daten sichern

    • DNS-Protokolle können sensible Informationen enthalten; schütze die Ausgaben mit geeigneten Zugriffskontrollen.
  6. Deinen Workflow dokumentieren

    • Dokumentiere Verarbeitungspläne, Speicherorte und die Nutzung der Analyse.
  7. Mit Beispieldateien testen

    • Validere Parameter und Ausgabeformat, bevor du kritische Protokolle verarbeitest.
  8. Auf Fehler überwachen

    • Achte auf beschädigte Protokolle, Zugriffsprobleme oder unzureichenden Speicherplatz.

3 - Fehlerbehebung

Häufige Probleme und Lösungen

„Die Datei ist keine gültige DNS-Debug-Logdatei“

  • Stelle sicher, dass du eine tatsächliche Debug-Logdatei des DNS-Servers konvertierst.
  • Die Datei sollte mit Message logging started at beginnen oder DNS-Abfrageeinträge enthalten.
  • Wenn du sicher bist, dass die Datei gültig ist, der Header aber abweicht, verwende -SkipHeaderValidation.

Ausgabedatei ist leer oder unvollständig

  • Überprüfe, ob die Eingabedatei gültige Logeinträge enthält.
  • Manche Logs enthalten nur Header-Informationen, wenn keine Abfragen stattgefunden haben.
  • Vergewissere dich, dass die Logdatei nicht beschädigt ist und tatsächliche Abfragedaten enthält.

Verarbeitung ist sehr langsam

  • Stelle sicher, dass genügend Arbeitsspeicher vorhanden ist und die Festplatte nicht stark ausgelastet ist.
  • Ziehe in Betracht, kleinere Logdateien zu verarbeiten.
  • Nutze -CompressOutput mit geplanter Verarbeitung, um kleinere Chargen zu verarbeiten.

„Zugriff verweigert“-Fehler

  • Starte PowerShell mit den erforderlichen Berechtigungen, um die Quell-Logdateien zu lesen und in das Zielverzeichnis zu schreiben.
  • DNS-Logdateien erfordern möglicherweise Administratorrechte.

Komprimierte Ausgabe ist größer als erwartet

  • Logs mit vielen einzigartigen Werten komprimieren sich weniger effizient; das kann normal sein.
  • ZIP-Kompression erzielt dennoch meist eine deutliche Reduzierung.

Statistikdatei entspricht nicht den Erwartungen

  • Überprüfe, ob du -OutputType Both oder -OutputType Statistic verwendest.
  • Statistiken sind aggregierte Zählwerte (tägliche Gruppierungen), daher stellen die Werte Gesamtsummen dar.

Probleme melden

Wenn du auf Probleme stößt, die hier nicht behandelt werden:

  1. Vergewissere dich, dass du die neueste Version des Moduls verwendest.
  2. Prüfe die GitHub Issues auf ähnliche Probleme.
  3. Sammle Diagnosedaten:
    • PowerShell-Version ($PSVersionTable)
    • Modulversion (Get-Module DNSServer.DebugLogParser)
    • Beispiel-Logdatei (wenn möglich)
    • Vollständige Fehlermeldung und Stacktrace
  4. Erstelle ein neues GitHub Issue mit den Details.

4 - Modulbefehle Referenz

Hier findest du eine Referenz für alle Befehle im Modul. Diese Referenz soll dir helfen, schnell den benötigten Befehl zu finden und zu verstehen, wie du ihn effektiv einsetzt.

Wenn du auf einen Befehl klickst, gelangst du zu einer Detailseite, die umfassende Informationen zum Befehl bietet, einschließlich Syntax, Parameter, Beispiele sowie zusätzliche Hinweise oder Tipps zur Verwendung.

4.1 - Convert-DNSDebugLogFile

SYNOPSIS

Wandelt Windows DNS-Server-Debugprotokolle in ein strukturiertes CSV-Format zur Analyse und Berichterstellung um.

SYNTAX

__AllParameterSets

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

ALIASES

Dieses Cmdlet hat folgende Aliase,

BESCHREIBUNG

Konvertiert Windows DNS-Server-Debugprotokolldateien in strukturierte CSV-Daten, die in Excel, Power BI, SQL-Datenbanken oder SIEM-Tools analysiert werden können. Entwickelt für Sicherheitsanalysen, Leistungsüberwachung, Fehlerbehebung und Compliance-Berichte.

Das Cmdlet analysiert alle 17 Felder aus DNS-Debugprotokollen, einschließlich Datum/Uhrzeit, Protokoll, Client-IP, Abfragetyp, Domänennamen, Antwortcodes, Flags, Ereignisinformationen und Computername. Es erzeugt strukturierte CSV-Ausgaben mit einer optionalen Statistikübersicht, die Aktivitäten nach Client, Protokoll und Abfragetyp aggregiert.

WICHTIGE FUNKTIONEN:

  • Hochleistungsfähige Analyse, optimiert für große Dateien (100MB+)
  • Anpassbarer CSV-Trennzeichen (Standard: Semikolon)
  • Optionale statistische Zusammenfassungen mit aggregierten Metriken
  • Kontextfilterung (PACKET, EVENT, Note) zur Fokussierung auf bestimmte Protokolleintragstypen
  • Kulturabhängige Datumsanalyse und -formatierung für internationale Server
  • Pipeline-Unterstützung für die Stapelverarbeitung mehrerer Dateien
  • Optionale Komprimierung der Ausgabedateien (ZIP-Format)
  • Optionale automatische Entfernung der Quelldateien nach Verarbeitung
  • Kopfzeilenvalidierung zur Sicherstellung der Datenintegrität

AUSGABEFORMAT: Die Spalte ComputerName ist immer am Ende jedes Datensatzes enthalten. Wenn der Parameter -ComputerName nicht angegeben wird, bleibt die Spalte leer. Dies gewährleistet eine konsistente Ausgabestruktur für Multi-Server-Konsolidierungsszenarien.

LEISTUNG: Optimiert durch Verwendung von StreamReader/StreamWriter mit 64KB-Puffern, String-Operationen statt Regex, manueller CSV-Erstellung und effizienter Hashtable-basierter Statistik-Erfassung.

KOMPATIBILITÄT:

  • PowerShell 5.1+ (Desktop- und Core-Editionen)
  • Windows Server 2016+
  • DNS-Server-Protokollformate von 2012 R2 bis 2025

BEISPIELE

BEISPIEL 1

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

Konvertiert das DNS-Debugprotokoll mit Standardeinstellungen (Daten- und Statistikdateien mit Semikolon als Trennzeichen). Ausgabe: C:\Logs\dns.csv und C:\Logs\dns_statistic.csv

BEISPIEL 2

PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputType CSV

Erzeugt nur die Datendatei ohne Statistik. Ausgabe: C:\Logs\dns.csv

BEISPIEL 3

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

Erzeugt nur die Statistikdatei mit aggregierten Metriken. Ausgabe: C:\Logs\dns_statistic.csv

BEISPIEL 4

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

Konvertiert das Protokoll an einen benutzerdefinierten Speicherort. Ausgabe: C:\Output\parsed.csv

BEISPIEL 5

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

Konvertiert mit Komma als Trennzeichen und fügt die Spalte ComputerName mit dem Wert “DNS01” hinzu. Ausgabe: C:\Logs\dns.csv und C:\Logs\dns_statistic.csv mit ComputerName-Spalte

BEISPIEL 6

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

Verarbeitet mehrere DNS-Debugprotokolldateien über die Pipeline. Ausgabe: Für jede .log-Datei werden .csv- und _statistic.csv-Dateien erzeugt.

BEISPIEL 7

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

Konvertiert und komprimiert die Ausgabe in ein ZIP-Archiv. Ausgabe: C:\Logs\dns.zip (enthält dns.csv und dns_statistic.csv)

BEISPIEL 8

PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -RemoveSourceFile -Verbose

Konvertiert das Protokoll und entfernt die Quelldatei nach erfolgreicher Verarbeitung. Die ausführliche Ausgabe bestätigt die Dateientfernung.

BEISPIEL 9

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

Parst das deutsche Datumsformat (TT.MM.JJJJ) und gibt im US-Format (MM/TT/JJJJ) aus. Nützlich bei der Verarbeitung von Protokollen von Servern mit unterschiedlichen Regionaleinstellungen.

BEISPIEL 10

PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter 'Packet'

Konvertiert nur DNS-Abfrage-/Antwortpakete und schließt EVENT- und Note-Einträge aus. Nützlich, um die Analyse auf den tatsächlichen DNS-Verkehr zu fokussieren.

BEISPIEL 11

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

Automatisierte Protokollarchivierung: Verarbeitet alle Protokolle, komprimiert die Ausgabe und entfernt die Quelldateien. Ideal für geplante Protokollverarbeitungs-Pipelines.

PARAMETER

-CompressOutput

Komprimiert die erzeugten CSV-Dateien nach der Erstellung in ein ZIP-Archiv.

Erstellt eine .zip-Datei, die die generierten CSV-Dateien enthält, und entfernt anschließend die unkomprimierten CSV-Dateien. Die ZIP-Datei wird im gleichen Verzeichnis wie die Ausgabedatei mit demselben Basisnamen erstellt.

Vorteile:

  • Spart erheblich Speicherplatz (CSV-Dateien komprimieren sich typischerweise um 90%+)
  • Vereinfacht Dateiverwaltung und Archivierung
  • Geeignet für Langzeitspeicherung

Beispiel: Die Eingabedatei ‘dns.log’ erzeugt ‘dns.csv’, die zu ‘dns.zip’ komprimiert wird, danach wird ‘dns.csv’ gelöscht.

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

Legt den Wert für die Spalte ComputerName in der CSV-Ausgabe fest. Die Spalte ComputerName ist immer in der Ausgabe enthalten – wenn dieser Parameter nicht angegeben wird, bleibt die Spalte leer.

Verwende dies bei der Konsolidierung von Protokollen mehrerer DNS-Server, um den Quellserver in kombinierten Datensätzen zu identifizieren.

Hinweis: Dies ist kein Remoting-Parameter. Das Cmdlet verarbeitet nur lokale Dateien.

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

Fordert vor der Ausführung des Cmdlets eine Bestätigung an.

Wenn angegeben, erfolgt eine Bestätigung vor:

  • Verarbeitung jeder DNS-Debugprotokolldatei
  • Entfernen von Quelldateien (wenn -RemoveSourceFile angegeben ist)
  • Überschreiben vorhandener Ausgabedateien

Nützlich für interaktive Verarbeitung, wenn du steuern möchtest, welche Dateien verarbeitet werden.

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

-ContextFilter

Filtert, welche Protokolleintragstypen in der Ausgabe enthalten sein sollen.

DNS-Debugprotokolle enthalten verschiedene Kontexttypen:

  • PACKET: DNS-Abfrage- und Antwortpaketinformationen (primäre Daten)
  • EVENT: DNS-Serverereignisse (z. B. „Der DNS-Server wurde gestartet.“)
  • Note: Diagnosenotizen und Warnungen (z. B. Socket-Fehler, interne Zustände)

Gültige Werte:

  • ‘All’: Alle Kontexttypen einschließen (Standard)
  • ‘Packet’: Nur PACKET-Einträge einschließen (DNS-Abfragen/-Antworten)
  • ‘Event’: Nur EVENT-Einträge einschließen (Serverereignisse)
  • ‘Note’: Nur Note-Einträge einschließen (Diagnoseinformationen)

Standard: All

Hinweis: Bei Filterung auf ‘Event’ oder ‘Note’ enthalten nur die Spalten DateTime, ThreadId, Context und Information Daten. Andere Spalten (Protokoll, ClientIP usw.) bleiben leer.

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

-Delimiter

Legt das Trennzeichen für die CSV-Ausgabe fest.

Standard: Semikolon (;)

Gängige Alternativen: Komma (,), Tabulator (`t), Pipe (|)

Verwende Semikolon in Regionen, in denen Komma als Dezimaltrennzeichen verwendet wird (Europa). Verwende Komma für Standard-CSV-Tools und Datenbanken, die kommagetrennte Werte erwarten.

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

-InputCulture

Legt die Kultur/Region fest, die zum Parsen von Datum/Uhrzeit-Werten im DNS-Debugprotokoll verwendet wird.

DNS-Server-Debugprotokolle verwenden das Datumsformat der Windows-Regionaleinstellung auf dem Server, auf dem das Protokoll erstellt wurde. Verwende diesen Parameter bei der Verarbeitung von Protokollen von Servern mit unterschiedlichen Regionaleinstellungen.

Standard: Aktuelle Kultur

Gängige Beispiele:

  • ‘de-DE’ oder ‘de-AT’: Deutsches Format (TT.MM.JJJJ oder TT/MM/JJJJ)
  • ’en-US’: US-Format (MM/TT/JJJJ mit AM/PM)
  • ’en-GB’: UK-Format (TT/MM/JJJJ mit 24-Stunden-Zeit)
  • ‘sv-SE’: Schwedisch/ISO-Format (JJJJ-MM-TT)
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: ''

-InputFile

Legt den Pfad zur DNS-Debugprotokolldatei fest, die geparst werden soll. Unterstützt Arrays zur Verarbeitung mehrerer Dateien.

Akzeptiert Pipeline-Eingaben von Get-ChildItem oder anderen Cmdlets, die Dateien liefern.

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

Legt die Kultur/Region fest, die zum Formatieren von Datum/Uhrzeit-Werten in den Ausgabedateien verwendet wird.

Steuert, wie DateTime-Werte in die CSV geschrieben werden. Verwende dies, wenn CSV-Dateien von Anwendungen oder Systemen mit bestimmten Regionaleinstellungen genutzt werden.

Standard: Aktuelle Kultur

Gängige Beispiele:

  • ’en-US’: US-Format (MM/TT/JJJJ)
  • ‘de-DE’: Deutsches Format (TT.MM.JJJJ)
  • ‘sv-SE’ oder InvariantCulture: ISO-Format (JJJJ-MM-TT) für maximale Kompatibilität
Type: CultureInfo
DefaultValue: '[System.Globalization.CultureInfo]::CurrentCulture'
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 7
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputFile

Legt den Pfad für die Ausgabedatei im CSV-Format fest. Wenn nicht angegeben, wird der Eingabedateiname mit der Erweiterung .csv im gleichen Verzeichnis wie die Eingabedatei verwendet.

Wichtig: Muss ein Dateipfad sein, kein Verzeichnis. Wenn du das Verzeichnis der Eingabedatei mit einem benutzerdefinierten Namen verwenden möchtest, gib den vollständigen Pfad inklusive Dateiname an.

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

Legt fest, welche Art von Ausgabe erzeugt werden soll.

Gültige Werte:

  • ‘CSV’: Erzeugt nur die Datendatei mit allen geparsten Protokolleinträgen (Standard)
  • ‘Statistic’: Erzeugt nur die Statistikdatei mit aggregierten Metriken
  • ‘Both’: Erzeugt sowohl Daten- als auch Statistikdateien

Standard: Both

Statistiken liefern aggregierte Zählungen nach Client-IP, Protokoll, Richtung und Abfragetyp sowie den Datumsbereich für jede eindeutige Kombination.

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

Entfernt die Quell-DNS-Debugprotokolldatei nach erfolgreicher Verarbeitung.

Verwende dies für automatisierte Protokollverarbeitungs-Pipelines oder zur Verwaltung des Speicherplatzes. Die Quelldatei wird nur entfernt, wenn die Verarbeitung erfolgreich abgeschlossen ist und alle Ausgabedateien erstellt wurden.

Sicherheit: Kann nicht zusammen mit -SkipHeaderValidation verwendet werden, um versehentliches Löschen ungültiger Dateien zu verhindern.

Warnung: Quelldateien werden dauerhaft gelöscht. Stelle sicher, dass die Ausgabedateien gültig sind, bevor du diese Option verwendest.

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

Umgeht die Validierung der DNS-Debugprotokoll-Kopfzeile.

Standardmäßig prüft das Cmdlet, ob Eingabedateien eine gültige DNS-Server-Debugprotokoll-Kopfzeile besitzen. Verwende diesen Schalter, um Dateien ohne Validierung zu verarbeiten, was nützlich sein kann für:

  • Geänderte oder benutzerdefinierte Protokollformate
  • Fehlerbehebung bei Validierungsproblemen
  • Nicht standardmäßige oder vorverarbeitete Protokolle

Warnung: Kann zu Verarbeitungsfehlern führen, wenn die Datei kein gültiges DNS-Protokoll ist.

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

Zeigt an, was passieren würde, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Wenn angegeben, werden detaillierte Informationen über die auszuführenden Operationen angezeigt, ohne diese tatsächlich auszuführen. Nützlich für:

  • Vorschau, welche Dateien verarbeitet würden
  • Überprüfung der Ausgabepfade vor der Verarbeitung
  • Testen von Skripten vor dem Einsatz in der Produktion
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

Dieses Cmdlet unterstützt die Common-Parameter: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

EINGABEN

System.String[]

HINWEISE

Version : 1.3.0.1
Autor : Andi Bellstedt, Copilot
Datum : 2026-01-23
Schlüsselwörter : Microsoft Windows Server, DNSServer, DNS, DebugLog, LogParser