Dieser Abschnitt enthält versionierte Versionshinweise für die verschiedenen Veröffentlichungen des PowerShell-Moduls DNSServer.DebugLogParser.
Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten. Druckvorgang starten.
Versionsverlauf für das Modul
Versionierte Versionshinweise für das PowerShell-Modul DNSServer.DebugLogParser
Release Notes v1.2.0.0 (2026-01-25)
Hinzugefügt
- NEU: Mehrzeilige Verarbeitung von Record-Daten für DNS PACKET Detailblöcke
- PACKET-Kontexteinträge können jetzt detaillierte TCP/UDP-Verbindungsinformationen und DNS-Nachrichtenstruktur enthalten
- Detailblöcke werden im neuen
Details-Feld in ein strukturiertes JSON-Format geparst - Enthält: Socket-Info, entfernte Adresse/Port, Zeitdaten, Nachrichtenstruktur (XID, Flags, QCOUNT, etc.)
- DNS-Sektionen (QUESTION, ANSWER, AUTHORITY, ADDITIONAL) werden mit vollständigen Record-Details erfasst
- Kodierte Domainnamen in Detailblöcken werden automatisch ins FQDN-Format konvertiert
- NEU:
Details-Spalte in der CSV-Ausgabe- Enthält strukturierte JSON-Daten für PACKET-Einträge mit Detailblöcken
- Leer für PACKET-Einträge ohne Details und alle Nicht-PACKET-Kontexte
- Ermöglicht tiefgehende Paket-Analyse und forensische Untersuchung von DNS-Anfragen/-Antworten
- NEU:
NoDetailsParsing-Schalterparameter zur Performance-Optimierung- Überspringt die aufwändige JSON-Analyse der PACKET-Detailblöcke
- Kann die Verarbeitungsgeschwindigkeit um 30-50% bei Logs mit vielen Detailblöcken verbessern
- Nutze ihn bei sehr großen Dateien (100MB+) und wenn die detaillierte Paketstruktur nicht benötigt wird
- Detailblöcke werden weiterhin in der Informationsspalte gesammelt, die Details-Spalte bleibt aber leer
- NEU: Unterstützung für mehrzeilige Fortsetzungen bei Nicht-PACKET-Kontexten
- EVENT, Note, DSPoll und andere Kontexte können jetzt über mehrere Zeilen gehen
- Eingezogene Fortsetzungszeilen werden automatisch an das Informationsfeld des Haupt-Records angehängt
- Bewahrt vollständige Fehlermeldungen, Zonenuptdates und Diagnoseausgaben
- NEU:
ContextFiltererkennt zusätzliche Kontexttypen:DSPoll,Init,Lookup,Recurse,Remote,Tombstone- Wirkung:
Convert-DNSDebugLogFilekann diese Diagnose- und Lifecycle-Einträge jetzt via-ContextFilterein- oder ausschließen
- Wirkung:
- NEU: Statistik-Ausgabe umfasst jetzt zwei dedizierte Dateien
_Statistic.csv: Tägliche Record-Anzahlen pro Kontexttyp (Datum, Kontext, Anzahl, ComputerName)_PacketStatistic.csv: Tägliche PACKET-Anzahlen nach Client/Protokoll/Richtung/Typ (Datum, ClientIP, Protokoll, Richtung, FrageTyp, Anzahl, ComputerName)- Vorteil: Fokusiertere Berichte (betrieblicher Kontextumfang vs. DNS-Verkehrsaufteilung)
- JSON-Erzeugung für PACKET-Detailblöcke ist für Performance optimiert (manuelles Parsen statt Regex)
Geändert
- BREAKING: CSV-Ausgabe enthält jetzt 18 Spalten (hinzugefügt
Details-Spalte vorComputerName)- Neue Spaltenreihenfolge: DateTime, ThreadId, Context, PacketId, Protocol, Direction, ClientIP, Xid, Type, Opcode, FlagsHex, FlagsChar, ResponseCode, QuestionType, QuestionName, Information, Details, ComputerName
- Auswirkung: Skripte, die sich auf Spaltenpositionen verlassen, müssen angepasst werden
- Vorteil: Umfangreiche Paket-Analysefunktionen ohne Änderung des bisherigen Verhaltens der Informationsspalte
- Datenzeilenverarbeitung wurde umstrukturiert, um alle Zeilen im Speicher zu lesen für effiziente Erkennung mehrzeiliger Records
- Performance: Minimale Auswirkung dank optimierter List
-Nutzung - Vorteil: Ermöglicht präzises Lookahead für Detailblöcke und Fortsetzungszeilen
- Performance: Minimale Auswirkung dank optimierter List
- Fehlende oder als leer kodierte Fragentypen werden jetzt elegant behandelt (keine Parse-Fehler); CSV-Ausgabe enthält dann ein leeres QuestionName-Feld
Verbessert
Convert-DNSDebugLogFileParsing ist robuster: Strengere Zeilenvalidierung und verbesserte Extraktion reduzieren fehlerhafte/ungültige Zeilen aus fehlerhaften Logs, während CSV-/Statistikformat erhalten bleibt- PACKET-Kontext-Erkennung unterscheidet jetzt zwischen einfachen Anfragen und Anfragen mit Detailblöcken
- Leere Zeilen nach PACKET-Einträgen ohne Details werden korrekt übersprungen
- Domainnamen-Dekodierung in Detailblöcken nutzt die bestehende
ConvertTo-Fqdn-Funktion für Konsistenz
Performance
- Verarbeitungsgeschwindigkeit bleibt bei Logs ohne Detailblöcke erhalten
NoDetailsParsing-Schalter bietet 30-50% Geschwindigkeitsvorteil, wenn JSON-Parsing nicht nötig ist- Effizientes Zustandsmanagement bei mehrzeiliger Record-Verarbeitung
- Optimierte String-Operationen (TrimStart, Join) statt Regex für Fortsetzungszeilen
Hinweise
- Diese Änderungen sind so gestaltet, dass sie abwärtskompatibel für den Normalgebrauch sind. Wenn du dich auf eine exakte Menge von Kontextnamen oder vorher strikt geparstes Verhalten verlässt, überprüfe bitte deine nachgelagerten Skripte
- Die neue
Details-Spalte ist immer in der CSV-Ausgabe enthalten; nutzeNoDetailsParsing, um sie leer zu halten und Performance zu gewinnen - Bestehende Skripte, die CSV nach Spaltenpositionen parsen, müssen die neue
Details-Spalte (Position 17, vor ComputerName) berücksichtigen
Release notes v1.1.0 (2026-01-23)
Hinzugefügt
- NEU: ContextFilter-Parameter für selektives Log-Parsing
- Filtert Logeinträge nach Kontexttyp: PACKET (DNS-Anfragen/-Antworten), EVENT (Serverereignisse) oder Note (Diagnoseinformationen)
- Ermöglicht gezielte Analyse bestimmter Logeintragstypen
- Standard: Alle (beinhaltet alle Kontexttypen)
- Anwendungsfälle: Fokus nur auf DNS-Traffic, Überwachung von Serverereignissen, Fehlerbehebung bei Diagnosen
- NEU: Informationsfeld in der CSV-Ausgabe
- Erfasst detaillierte Informationen für EVENT- und Note-Kontexteinträge
- Beispiele: „The DNS server has started.“, „Zone loading completed“, Socket-Fehler, interne Statusmeldungen
- Verbessert die Sichtbarkeit von Betriebsereignissen und Diagnosen des DNS-Servers
- Feld wird gefüllt, wenn Kontext EVENT oder Note ist; bei PACKET-Einträgen leer
Geändert
- BREAKING: ComputerName-Spalte wird jetzt immer am Ende aller Ausgabedatensätze eingefügt
- Bisher: ComputerName wurde nur bedingt am Anfang eingefügt, wenn Parameter angegeben war
- Jetzt: ComputerName immer als letzte Spalte vorhanden; leer, wenn Parameter nicht angegeben
- Vorteil: Konsistente Ausgabe-Struktur erleichtert Zusammenführung von Logs mehrerer Server und automatisierte Verarbeitung
- Auswirkung: Bestehende Skripte, die Spaltenpositionen parsen oder bedingte Spalten erwarten, müssen angepasst werden
Hinzugefügt
- Kontextfilterung zur Fokussierung auf bestimmte Logeintragstypen (PACKET, EVENT, NOTE) über den ContextFilter-Parameter
Verbessert
- Überarbeitete Kommentar-Hilfe für Convert-DNSDebugLogFile für bessere Klarheit und Kürze
- Aktualisierte Parameterbeschreibungen, die informativer und praxisnäher sind
- Verbesserte Beispieldokumentation mit gezielteren und praktischeren Anwendungsfällen
- Erweiterte about_DNSServer.DebugLogParser-Hilfedatei, um aktuelle Funktionalität widerzuspiegeln
- Verbessertes ausführliches Logging für detailliertere Fortschrittsinformationen während der Verarbeitung
v1.0.0 (2026-01-23)
Hinzugefügt
- Erste Veröffentlichung
Convert-DNSDebugLogFile– Hochleistungsparser für Windows DNS-Server-Debug-Logdateien- Parst alle 15 Standardfelder aus DNS-Debug-Logs in ein strukturiertes CSV-Format
- Unterstützt anpassbare CSV-Trennzeichen (Standard: Semikolon)
- Optionale Spalte ComputerName zur Konsolidierung von Logs mehrerer Server
- Drei Ausgabemodi: Nur CSV-Daten, nur Statistiken oder beides
- Statistische Zusammenfassungen, die Aktivitäten nach Client-IP, Protokoll und Abfragetyp aggregieren
- Pipeline-Unterstützung für die Stapelverarbeitung mehrerer Logdateien
- Kopfzeilenvalidierung zur Sicherstellung der Datenintegrität (kann bei Bedarf umgangen werden)
- Optionale automatische Komprimierung der Ausgabedateien (ZIP-Format)
- Optionale Löschung der Quelldateien nach erfolgreicher Verarbeitung
- Kulturabhängige Datumsparsing- und Formatierung für internationale DNS-Server
- Optimiert für große Dateien (100 MB +) durch Streaming-I/O und effiziente String-Operationen
- Kompatibel mit PowerShell 5.1+ (Desktop- und Core-Editionen)
- Unterstützt Windows Server 2016+ und DNS-Server 2012 R2 bis 2025 Logformate