Vorteil: Ermöglicht präzises Lookahead für Detailblöcke und Fortsetzungszeilen
Fehlende oder als leer kodierte Fragentypen werden jetzt elegant behandelt (keine Parse-Fehler); CSV-Ausgabe enthält dann ein leeres QuestionName-Feld
Verbessert
Convert-DNSDebugLogFile Parsing 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; nutze NoDetailsParsing, 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