Ausgabeformate

Die Spalten der CSV-Datendatei, die zwei optionalen Statistikdateien und echte Beispielausgaben, die du öffnen kannst, bevor du irgendetwas ausführst.

For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /de/docs/02-output-formats/index.md.

Convert-DNSDebugLogFile erzeugt bis zu drei Dateien pro Eingabeprotokoll:

DateiEnthältErstellt bei
<name>.csvEine Zeile pro geparstem Protokolleintrag-OutputType CSV oder Both
<name>_Statistic.csvTägliche Anzahl der Einträge pro Kontext-OutputType Statistic oder Both
<name>_PacketStatistic.csvTägliche Abfrageanzahl pro Client, Protokoll, Richtung und Eintragstyp-OutputType Statistic oder Both

Both ist die Standardeinstellung. Die Ausgabe landet neben der Eingabedatei, sofern du nicht -OutputFile setzt.

Die auf dieser Seite verlinkten Beispieldateien sind echte Konversionsergebnisse, keine Mock-ups. Lade eine herunter und öffne sie in Excel, bevor du dich für ein Pipeline-Design entscheidest.

Die CSV-Datendatei

Beispielausgabe:

GebietsschemaDetails-SpalteDateien
en-USnicht befülltWithComputerName, NoComputerName
de-DEnicht befülltWithComputerName, NoComputerName
de-DEbefülltWithComputerName, NoComputerName

Zwei Zeilen aus einer echten Konversion — eine DNS-Abfrage und eine serverinterne Notiz:

DateTime;ThreadId;Context;PacketId;Protocol;Direction;ClientIP;Xid;Type;Opcode;FlagsHex;FlagsChar;ResponseCode;QuestionType;QuestionName;Information;Details;ComputerName
2026-01-20 23:00:16;0FE0;Packet;000002C53117D990;UDP;Rcv;10.0.0.2;c049;Query;Standard;0001;RecursionDesired;NOERROR;A;"odc.officeapps.live.com";"";"";dc01
2026-01-20 23:00:16;DF0;Note;;;;;;;;;;;;"";"got GQCS failure on a dead socket context status=995, socket=904";"";dc01

Spalten

Immer 18 Spalten, immer in dieser Reihenfolge:

#SpalteBedeutungTypische Verwendung
1DateTimeZeitstempel des EintragsZeitfilterung, Verknüpfung mit anderen Protokollen
2ThreadIdDNS-Server-ArbeitsthreadSelten benötigt; nützlich bei der Korrelation serverinterner Probleme
3ContextArt des Eintrags: Packet, Event, Note, DSPoll, Init, Lookup, Recurse, Remote, TombstoneErster Filter, den du anwendest — Packet ist der eigentliche DNS-Verkehr
4PacketIdInterne PaketkennungVerknüpfung einer Abfrage mit ihrer Antwort
5ProtocolUDP oder TCPTCP-Spitzen können auf große Antworten oder Zonentransfers hinweisen
6DirectionRcv (Abfrage eingegangen) oder Snd (Server antwortete)Trennung von Anfrage- und Antwortvolumen
7ClientIPAdresse des abfragenden HostsAnalyse der aktivsten Hosts, Eingrenzung von Vorfällen
8XidDNS-Transaktions-ID (hex)Abgleich von Anfrage und Antwort
9TypeQuery oder Response
10OpcodeStandard, Notify, Update, UnknownTrennt dynamische Updates und Zonennachrichten von normalen Abfragen
11FlagsHexRoh-Header-Flags (hex)Für tiefgehende Protokollanalyse
12FlagsCharDekodierte Flags: Authoritative, Truncated, RecursionDesired, RecursionAvailableLesbare Version der obigen Flags
13ResponseCodeNOERROR, NXDOMAIN, SERVFAIL, …Fehlerquotenbericht, Suche nach Auflösungsfehlern
14QuestionTypeEintragstyp: A, AAAA, MX, PTR, TXT, …TXT-Volumen ist ein klassischer Indikator für Tunneling
15QuestionNameAbgefragter Name als normaler FQDNBedrohungs-Intelligence-Abgleich, Top-Domain-Berichte
16InformationFreitext für Event / Note-Einträge; für Packet Detailblöcke die TCP/UDP-Detail-HeaderzeileLesen von Servermeldungen
17DetailsJSON-Darstellung eines Packet Detailblocks; sonst leerVollständige Paketinspektion ohne Rückgriff auf das Rohprotokoll
18ComputerNameQuellserver, aus -ComputerNameMehrserver-Datensätze zuordenbar halten

Zwei Dinge, die du beachten solltest:

  • Nicht jede Spalte ist für jede Zeile gefüllt. Nur Packet-Einträge haben eine Client-IP, einen Abfragenamen und einen Antwortcode. Note- und Event-Zeilen tragen ihren Text in Information und lassen die Protokollspalten leer. Gestalte dein Datenbankschema und Dashboard-Filter entsprechend.
  • ComputerName ist immer die letzte Spalte, auch wenn du -ComputerName nicht benutzt. Dann ist sie einfach leer. So bleibt das Layout über alle Server hinweg identisch, sodass du Dateien von vielen DNS-Servern ohne Spaltenzuordnung zusammenfügen kannst.

Die Details-Spalte

Detailblöcke erscheinen nur, wenn der DNS-Server so konfiguriert ist, dass er vollständige Paketdetails protokolliert. Wenn sie vorhanden sind, wandelt der Parser sie in einen einzelnen JSON-Wert um, sodass die Zeile eine Zeile bleibt:

{
  "Socket": "848",
  "Remote": "addr 10.10.0.11, port 60580",
  "Buflength": "0x10000 (65536)",
  "Message": {
    "XID": "0x0001",
    "OPCODE": "0 (QUERY)",
    "RCODE": "0 (NOERROR)",
    "QUESTION": [ { "Name": "berlin.de", "QTYPE": "A (1)", "QCLASS": "1" } ],
    "ANSWER": []
  }
}

Das Parsen dieser Blöcke kostet Zeit und macht die CSV deutlich größer. Wenn du sie nicht brauchst, nutze -NoDetailsParsing — die Spalte bleibt vorhanden, aber leer, und die Konvertierung wird schneller. Siehe Performance.

Die Statistikdateien

Statistiken sind tägliche Aggregationen. Nutze sie, wenn du einen Trend oder eine Zusammenfassung möchtest und nicht den kompletten Datensatz verschieben willst — sie sind um Größenordnungen kleiner als die Datendatei.

Kontextstatistiken (*_Statistic.csv)

Antworten auf die Frage: Wie viel von welcher Aktivität ist pro Tag passiert?

Date;Context;Count;ComputerName
2026-01-20;Event;2;dc01
2026-01-20;Note;2;dc01
2026-01-20;Packet;12;dc01
SpalteBedeutung
DateTag, immer yyyy-MM-dd
ContextKontextname (Packet, Event, Note, …)
CountAnzahl der Einträge dieses Kontexts an diesem Tag
ComputerNameQuellserver

Beispieldateien: en-US WithComputerName, en-US NoComputerName, de-DE WithComputerName, de-DE NoComputerName

Paketstatistiken (*_PacketStatistic.csv)

Antworten auf die Frage: Wer hat was wie oft pro Tag abgefragt?

Date;ClientIP;Protocol;Direction;QuestionType;Count;ComputerName
2026-01-20;10.0.0.1;UDP;Rcv;A;3;dc01
2026-01-20;10.0.0.1;UDP;Snd;A;3;dc01
2026-01-20;10.0.0.2;UDP;Rcv;A;3;dc01
SpalteBedeutung
DateTag, immer yyyy-MM-dd
ClientIPAbfragender Host
ProtocolUDP oder TCP
DirectionRcv oder Snd
QuestionTypeDNS-Eintragstyp
CountAnzahl der passenden Pakete an diesem Tag
ComputerNameQuellserver

Beispieldateien: en-US WithComputerName, en-US NoComputerName, de-DE WithComputerName, de-DE NoComputerName

Trennzeichen- und Datumsformat

Beide Ausgabetypen respektieren -Delimiter (Standard ;) und -OutputCulture. Für alles, was maschinell importiert wird, schreibe ISO-ähnliche Zeitstempel:

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputCulture 'sv-SE'

Das ergibt 2026-01-20 23:00:16, was SQL Server, Power BI und pandas alle ohne Formatangabe lesen. Details in Parameter und Optionen.