<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DNSServer.DebugLogParser on PowerShell Modul DNSServer.DebugLogParser</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/</link><description>Recent content in DNSServer.DebugLogParser on PowerShell Modul DNSServer.DebugLogParser</description><generator>Hugo</generator><language>de</language><lastBuildDate>Fri, 24 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://DNSServerDebugLogParser.andibellstedt.com/de/index.xml" rel="self" type="application/rss+xml"/><item><title>Übersicht</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/01-overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/01-overview/</guid><description>&lt;p&gt;Windows DNS Server kann ein Debug-Log schreiben. Es ist eine Textdatei, die für Menschen lesbar ist und an einem stark genutzten Domänencontroller täglich um mehrere hundert Megabyte wächst. Diese Kombination macht sie nahezu nutzlos, sobald du eine Frage beantworten willst wie &lt;em&gt;„Welcher Client hat diese Domain letzte Nacht 40.000 Mal abgefragt?“&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DNSServer.DebugLogParser&lt;/strong&gt; verwandelt diese Textdatei in eine CSV-Tabelle. Eine Logzeile wird zu einer Zeile mit benannten Spalten, sodass du sie in Excel öffnen, in Power BI laden, massenhaft in SQL Server einfügen oder an dein SIEM schicken kannst.&lt;/p&gt;</description></item><item><title>Ausgabeformate</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/02-output-formats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/02-output-formats/</guid><description>&lt;p&gt;&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; erzeugt bis zu drei Dateien pro Eingabeprotokoll:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Datei&lt;/th&gt;
					&lt;th&gt;Enthält&lt;/th&gt;
					&lt;th&gt;Erstellt bei&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;&amp;lt;name&amp;gt;.csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Eine Zeile pro geparstem Protokolleintrag&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType CSV&lt;/code&gt; oder &lt;code&gt;Both&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;&amp;lt;name&amp;gt;_Statistic.csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Tägliche Anzahl der Einträge pro Kontext&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType Statistic&lt;/code&gt; oder &lt;code&gt;Both&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;&amp;lt;name&amp;gt;_PacketStatistic.csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Tägliche Abfrageanzahl pro Client, Protokoll, Richtung und Eintragstyp&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType Statistic&lt;/code&gt; oder &lt;code&gt;Both&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;Both&lt;/code&gt; ist die Standardeinstellung. Die Ausgabe landet neben der Eingabedatei, sofern du nicht &lt;code&gt;-OutputFile&lt;/code&gt; setzt.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Parameter und Optionen</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/03-parameters-and-options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/03-parameters-and-options/</guid><description>&lt;p&gt;Diese Seite erklärt die Optionen in einfacher Sprache und in der Reihenfolge, in der du sie typischerweise brauchst. Es ist ein Leitfaden, keine Spezifikation — die autoritative, immer aktuelle Parameterliste findest du in der &lt;a href="../commands/convert-dnsdebuglogfile/"&gt;Befehlsreferenz&lt;/a&gt; und in:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-powershell"&gt;Get-Help Convert-DNSDebugLogFile -Full
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="die-kurzfassung"&gt;Die Kurzfassung&lt;/h2&gt;
&lt;pre&gt;&lt;code class="language-powershell"&gt;Convert-DNSDebugLogFile -InputFile &amp;quot;C:\Logs\dns.log&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Diese eine Zeile liefert dir schon ein sinnvolles Verhalten: sowohl Daten- als auch Statistikdateien, Semikolon als Trennzeichen, das Datumsformat deiner Maschine, Header-Validierung an, Quell-Log bleibt unverändert. Alles Weitere ist Feintuning.&lt;/p&gt;</description></item><item><title>Performance</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/04-performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/04-performance/</guid><description>&lt;p&gt;DNS-Debug-Logs auf einem stark genutzten Domänencontroller sind groß. &lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; ist genau für diesen Fall gemacht: Es wurde mit Logs von 100 MB und mehr getestet und verarbeitet sie in Minuten auf gewöhnlicher Server-Hardware.&lt;/p&gt;
&lt;h2 id="warum-es-so-schnell-ist"&gt;Warum es so schnell ist&lt;/h2&gt;
&lt;p&gt;Du musst das nicht wissen, um das Modul zu nutzen, aber es erklärt das Verhalten, das du beobachten wirst.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Technik&lt;/th&gt;
					&lt;th&gt;Effekt, den du bemerkst&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;StreamReader&lt;/code&gt; / &lt;code&gt;StreamWriter&lt;/code&gt; mit 64 KB Puffern&lt;/td&gt;
					&lt;td&gt;Die Datei wird in Stücken gelesen und geschrieben, statt mit einem großen &lt;code&gt;Get-Content&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Streaming, ein Durchlauf&lt;/td&gt;
					&lt;td&gt;Der Speicherverbrauch bleibt ungefähr konstant, egal wie groß das Log ist&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;String-Operationen (&lt;code&gt;.Substring()&lt;/code&gt;, &lt;code&gt;.IndexOf()&lt;/code&gt;) statt regulärer Ausdrücke&lt;/td&gt;
					&lt;td&gt;Deutlich weniger CPU pro Zeile, und es sind Millionen von Zeilen&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CSV wird manuell geschrieben statt mit &lt;code&gt;Export-Csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Kein Overhead durch Objekt-Pipeline pro Datensatz&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hashtable-basierte Aggregation für Statistiken&lt;/td&gt;
					&lt;td&gt;Zusammenfassungen kosten während des gleichen Durchlaufs fast nichts extra&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Die wichtige Konsequenz: &lt;strong&gt;Das gesamte Log wird nie komplett im Speicher gehalten.&lt;/strong&gt; Ein 500 MB großes Log braucht nicht 500 MB RAM. Das ist der Unterschied zwischen dem Modul und dem „Datei lesen, splitten, Objekte bauen“-Ansatz, den die meisten selbstgebastelten Skripte verwenden – dieser Ansatz funktioniert bei einer 5 MB Probe gut, aber bei einem echten DC bricht er zusammen.&lt;/p&gt;</description></item><item><title>Integration mit Analysetools</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/05-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/05-integration/</guid><description>&lt;p&gt;Der Sinn der Konvertierung eines DNS-Debug-Logs liegt im, was danach passiert. CSV wurde gewählt, weil es von allem gelesen wird – aber „alles liest CSV“ verbirgt zwei Einstellungen, die entscheiden, ob der Import schmerzfrei oder ein Nachmittag voller Fummelei wird.&lt;/p&gt;
&lt;h2 id="zwei-einstellungen-die-alles-entscheiden"&gt;Zwei Einstellungen, die alles entscheiden&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Trennzeichen.&lt;/strong&gt; Standard ist &lt;code&gt;;&lt;/code&gt;. Behalte es für Excel in Regionen, die das Komma als Dezimaltrennzeichen verwenden. Wechsle zu &lt;code&gt;,&lt;/code&gt; für die meisten Datenbanken und Data-Science-Tools. Was auch immer du wählst, sag der importierenden Seite dasselbe.&lt;/p&gt;</description></item><item><title>Operative Best Practices</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/06-operational-best-practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/06-operational-best-practices/</guid><description>&lt;p&gt;Ein Protokoll manuell zu konvertieren ist einfach. Es jede Nacht auf jedem Domänencontroller über Jahre hinweg laufen zu lassen, ohne dass jemand hinschaut, erfordert etwas Planung. Das sind die Punkte, die in der Praxis wichtig sind.&lt;/p&gt;
&lt;h2 id="1-konvertiere-rotierte-protokolle-nicht-das-aktive"&gt;1. Konvertiere rotierte Protokolle, nicht das aktive&lt;/h2&gt;
&lt;p&gt;Aktiviere die Protokollrotation auf dem DNS-Server und konvertiere nur geschlossene Dateien. Das Modul &lt;em&gt;kann&lt;/em&gt; das Protokoll lesen, in das der DNS-Server gerade schreibt, aber diese Datei ändert sich während der Konvertierung: die neuesten Einträge können fehlen und der letzte Eintrag kann abgeschnitten sein. Zwei Durchläufe liefern zwei unterschiedliche Ergebnisse.&lt;/p&gt;</description></item><item><title>Fehlerbehebung</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/08-troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/08-troubleshooting/</guid><description>&lt;h2 id="die-datei-ist-keine-gültige-dns-debug-logdatei"&gt;„Die Datei ist keine gültige DNS-Debug-Logdatei“&lt;/h2&gt;
&lt;p&gt;Die Header-Prüfung hat die Eingabe abgelehnt. Meistens ist der Pfad einfach falsch — eine &lt;code&gt;.log&lt;/code&gt;-Datei im gleichen Ordner, die kein DNS-Debug-Log ist, oder eine Datei, die nur einen rotierten Header enthält.&lt;/p&gt;
&lt;p&gt;Arbeite das Folgende durch:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Öffne die Datei. Ein DNS-Debug-Log beginnt mit einer Header-Zeile wie &lt;code&gt;Message logging started at …&lt;/code&gt; und enthält danach mit Zeitstempel versehene Abfrageeinträge.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bestätige, dass das DNS-Debug-Logging tatsächlich aktiviert ist und in den erwarteten Pfad schreibt:&lt;/p&gt;</description></item><item><title>Convert-DNSDebugLogFile</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/commands/convert-dnsdebuglogfile/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/commands/convert-dnsdebuglogfile/</guid><description>&lt;!-- This file is auto-generated using PlatyPS + HUGO Workflow automation. Avoid editing directly! Original Front-Matter:
date: 2026-07-24
document type: cmdlet
external help file: DNSServer.DebugLogParser-Help.xml
flagTranslation: Primary
HelpUri: https://github.com/AndiBellstedt/DNSServer.DebugLogParser
Locale: en-US
Module Name: DNSServer.DebugLogParser
ms.date: 07/24/2026
PlatyPS schema version: 2024-05-01
title: Convert-DNSDebugLogFile
type: docs
--&gt;
&lt;h2 id="synopsis"&gt;SYNOPSIS&lt;/h2&gt;
&lt;p&gt;Wandelt Windows DNS-Server-Debugprotokolle in ein strukturiertes CSV-Format zur Analyse und Berichterstellung um.&lt;/p&gt;
&lt;h2 id="syntax"&gt;SYNTAX&lt;/h2&gt;
&lt;h3 id="__allparametersets"&gt;__AllParameterSets&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;Convert-DNSDebugLogFile [-InputFile] &amp;lt;string[]&amp;gt; [[-OutputFile] &amp;lt;string&amp;gt;] [[-Delimiter] &amp;lt;string&amp;gt;]
 [[-ComputerName] &amp;lt;string&amp;gt;] [[-OutputType] &amp;lt;string&amp;gt;] [[-ContextFilter] &amp;lt;string[]&amp;gt;]
 [[-InputCulture] &amp;lt;cultureinfo&amp;gt;] [[-OutputCulture] &amp;lt;cultureinfo&amp;gt;] [-SkipHeaderValidation]
 [-RemoveSourceFile] [-CompressOutput] [-NoDetailsParsing] [-WhatIf] [-Confirm]
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="aliases"&gt;ALIASES&lt;/h2&gt;
&lt;p&gt;Dieses Cmdlet hat folgende Aliase,&lt;/p&gt;</description></item><item><title>Release notes v1.2.2.0 (2026-07-24)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.2.2.0/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.2.2.0/</guid><description>&lt;h2 id="hinzugefügt"&gt;Hinzugefügt&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: Unterstützung zum Lesen von DNS-Server-Debug-Protokolldateien, die derzeit vom DNS-Dienst geöffnet sind
&lt;ul&gt;
&lt;li&gt;Ermöglicht die Verarbeitung aktiver Protokolldateien, ohne dass die Datei zuerst geschlossen werden muss&lt;/li&gt;
&lt;li&gt;Verbessert die Kompatibilität mit Protokollen, die noch geschrieben werden oder von einem anderen Prozess geöffnet gehalten werden&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sei vorsichtig&lt;/strong&gt;, wenn du Live-Protokolle verarbeitest, da Einträge unvollständig oder im Fluss sein können&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: Unterstützung für SMB/UNC-Pfade beim Lesen von Quellprotokolldateien
&lt;ul&gt;
&lt;li&gt;Ermöglicht dem Parser die Arbeit mit Dateien, die auf Netzlaufwerken und entfernten Speicherorten gespeichert sind&lt;/li&gt;
&lt;li&gt;Verbessert die Zuverlässigkeit in zentralisierten oder gemeinsam genutzten Speicherumgebungen&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="geändert"&gt;Geändert&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Modul-Metadaten&lt;/strong&gt;: Aktualisierung von ProjectUri und ReleaseNotes, um auf die &lt;strong&gt;offizielle Website &lt;a href="https://dnsserverdebuglogparser.andibellstedt.com"&gt;https://dnsserverdebuglogparser.andibellstedt.com&lt;/a&gt;&lt;/strong&gt; zu verweisen, für bessere Auffindbarkeit und Dokumentationszugang&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Behobener Datei-Zugriff&lt;/strong&gt;: Aktualisierung der zugrundeliegenden Logik zum Öffnen von Dateien auf streambasierten Zugriff mit expliziten Optionen für gemeinsam genutzte Lese-Szenarien
&lt;ul&gt;
&lt;li&gt;Verbessert die Handhabung von Live-Protokolldateien und alternativen Pfadtypen wie UNC-Freigaben&lt;/li&gt;
&lt;li&gt;Gewährleistet konsistentes Verhalten für lokale und entfernte Dateiquellen&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release notes v1.2.1.0 (2026-01-26)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.2.1.0/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.2.1.0/</guid><description>&lt;h2 id="geändert"&gt;Geändert&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt;: Verbesserte Verarbeitung von mehrzeiligen Einträgen, um das Laden großer Dateien in den Arbeitsspeicher zu vermeiden
&lt;ul&gt;
&lt;li&gt;Verhindert Speicherüberlauf-Fehler bei sehr großen Protokolldateien&lt;/li&gt;
&lt;li&gt;Volle Unterstützung für PACKET-Detailblöcke und eingerückte Fortsetzungszeilen bleibt erhalten&lt;/li&gt;
&lt;li&gt;Speicherverbrauch ist jetzt unabhängig von der Dateigröße konstant&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fortschritt&lt;/strong&gt;: &lt;code&gt;Write-Progress&lt;/code&gt; für Verarbeitungsrückmeldung hinzugefügt
&lt;ul&gt;
&lt;li&gt;Fortschrittsbalken wird alle 1000 Einträge aktualisiert, um minimale Performance-Auswirkungen zu gewährleisten&lt;/li&gt;
&lt;li&gt;Zeigt aktuelle Anzahl der Einträge und die verarbeitete Datei an&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release Notes v1.2.0.0 (2026-01-25)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.2.0.0/</link><pubDate>Sun, 25 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.2.0.0/</guid><description>&lt;h2 id="hinzugefügt"&gt;Hinzugefügt&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: Mehrzeilige Verarbeitung von Record-Daten für DNS PACKET Detailblöcke
&lt;ul&gt;
&lt;li&gt;PACKET-Kontexteinträge können jetzt detaillierte TCP/UDP-Verbindungsinformationen und DNS-Nachrichtenstruktur enthalten&lt;/li&gt;
&lt;li&gt;Detailblöcke werden im neuen &lt;code&gt;Details&lt;/code&gt;-Feld in ein strukturiertes JSON-Format geparst&lt;/li&gt;
&lt;li&gt;Enthält: Socket-Info, entfernte Adresse/Port, Zeitdaten, Nachrichtenstruktur (XID, Flags, QCOUNT, etc.)&lt;/li&gt;
&lt;li&gt;DNS-Sektionen (QUESTION, ANSWER, AUTHORITY, ADDITIONAL) werden mit vollständigen Record-Details erfasst&lt;/li&gt;
&lt;li&gt;Kodierte Domainnamen in Detailblöcken werden automatisch ins FQDN-Format konvertiert&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: &lt;code&gt;Details&lt;/code&gt;-Spalte in der CSV-Ausgabe
&lt;ul&gt;
&lt;li&gt;Enthält strukturierte JSON-Daten für PACKET-Einträge mit Detailblöcken&lt;/li&gt;
&lt;li&gt;Leer für PACKET-Einträge ohne Details und alle Nicht-PACKET-Kontexte&lt;/li&gt;
&lt;li&gt;Ermöglicht tiefgehende Paket-Analyse und forensische Untersuchung von DNS-Anfragen/-Antworten&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: &lt;code&gt;NoDetailsParsing&lt;/code&gt;-Schalterparameter zur Performance-Optimierung
&lt;ul&gt;
&lt;li&gt;Überspringt die aufwändige JSON-Analyse der PACKET-Detailblöcke&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Kann die&lt;/strong&gt;&lt;/em&gt; Verarbeitungsgeschwindigkeit um &lt;strong&gt;30-50%&lt;/strong&gt; bei Logs mit vielen Detailblöcken verbessern&lt;/li&gt;
&lt;li&gt;Nutze ihn bei sehr großen Dateien (100MB+) und wenn die detaillierte Paketstruktur nicht benötigt wird&lt;/li&gt;
&lt;li&gt;Detailblöcke werden weiterhin in der Informationsspalte gesammelt, die Details-Spalte bleibt aber leer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: Unterstützung für mehrzeilige Fortsetzungen bei Nicht-PACKET-Kontexten
&lt;ul&gt;
&lt;li&gt;EVENT, Note, DSPoll und andere Kontexte können jetzt über mehrere Zeilen gehen&lt;/li&gt;
&lt;li&gt;Eingezogene Fortsetzungszeilen werden automatisch an das Informationsfeld des Haupt-Records angehängt&lt;/li&gt;
&lt;li&gt;Bewahrt vollständige Fehlermeldungen, Zonenuptdates und Diagnoseausgaben&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: &lt;code&gt;ContextFilter&lt;/code&gt; erkennt zusätzliche Kontexttypen: &lt;code&gt;DSPoll&lt;/code&gt;, &lt;code&gt;Init&lt;/code&gt;, &lt;code&gt;Lookup&lt;/code&gt;, &lt;code&gt;Recurse&lt;/code&gt;, &lt;code&gt;Remote&lt;/code&gt;, &lt;code&gt;Tombstone&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Wirkung: &lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; kann diese Diagnose- und Lifecycle-Einträge jetzt via &lt;code&gt;-ContextFilter&lt;/code&gt; ein- oder ausschließen&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: Statistik-Ausgabe umfasst jetzt zwei dedizierte Dateien
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;_Statistic.csv&lt;/code&gt;: Tägliche Record-Anzahlen pro Kontexttyp (Datum, Kontext, Anzahl, ComputerName)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_PacketStatistic.csv&lt;/code&gt;: Tägliche PACKET-Anzahlen nach Client/Protokoll/Richtung/Typ (Datum, ClientIP, Protokoll, Richtung, FrageTyp, Anzahl, ComputerName)&lt;/li&gt;
&lt;li&gt;Vorteil: Fokusiertere Berichte (betrieblicher Kontextumfang vs. DNS-Verkehrsaufteilung)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;JSON-Erzeugung für PACKET-Detailblöcke ist für Performance optimiert (manuelles Parsen statt Regex)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="geändert"&gt;Geändert&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;BREAKING&lt;/strong&gt;: CSV-Ausgabe enthält jetzt 18 Spalten (hinzugefügt &lt;code&gt;Details&lt;/code&gt;-Spalte vor &lt;code&gt;ComputerName&lt;/code&gt;)
&lt;ul&gt;
&lt;li&gt;Neue Spaltenreihenfolge: DateTime, ThreadId, Context, PacketId, Protocol, Direction, ClientIP, Xid, Type, Opcode, FlagsHex, FlagsChar, ResponseCode, QuestionType, QuestionName, Information, &lt;strong&gt;Details&lt;/strong&gt;, ComputerName&lt;/li&gt;
&lt;li&gt;Auswirkung: Skripte, die sich auf Spaltenpositionen verlassen, müssen angepasst werden&lt;/li&gt;
&lt;li&gt;Vorteil: Umfangreiche Paket-Analysefunktionen ohne Änderung des bisherigen Verhaltens der Informationsspalte&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Datenzeilenverarbeitung wurde umstrukturiert, um alle Zeilen im Speicher zu lesen für effiziente Erkennung mehrzeiliger Records
&lt;ul&gt;
&lt;li&gt;Performance: Minimale Auswirkung dank optimierter List&lt;string&gt;-Nutzung&lt;/li&gt;
&lt;li&gt;Vorteil: Ermöglicht präzises Lookahead für Detailblöcke und Fortsetzungszeilen&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Fehlende oder als leer kodierte Fragentypen werden jetzt elegant behandelt (keine Parse-Fehler); CSV-Ausgabe enthält dann ein leeres QuestionName-Feld&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="verbessert"&gt;Verbessert&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; Parsing ist robuster: Strengere Zeilenvalidierung und verbesserte Extraktion reduzieren fehlerhafte/ungültige Zeilen aus fehlerhaften Logs, während CSV-/Statistikformat erhalten bleibt&lt;/li&gt;
&lt;li&gt;PACKET-Kontext-Erkennung unterscheidet jetzt zwischen einfachen Anfragen und Anfragen mit Detailblöcken&lt;/li&gt;
&lt;li&gt;Leere Zeilen nach PACKET-Einträgen ohne Details werden korrekt übersprungen&lt;/li&gt;
&lt;li&gt;Domainnamen-Dekodierung in Detailblöcken nutzt die bestehende &lt;code&gt;ConvertTo-Fqdn&lt;/code&gt;-Funktion für Konsistenz&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="performance"&gt;Performance&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Verarbeitungsgeschwindigkeit bleibt bei Logs ohne Detailblöcke erhalten&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NoDetailsParsing&lt;/code&gt;-Schalter bietet 30-50% Geschwindigkeitsvorteil, wenn JSON-Parsing nicht nötig ist&lt;/li&gt;
&lt;li&gt;Effizientes Zustandsmanagement bei mehrzeiliger Record-Verarbeitung&lt;/li&gt;
&lt;li&gt;Optimierte String-Operationen (TrimStart, Join) statt Regex für Fortsetzungszeilen&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="hinweise"&gt;Hinweise&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;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&lt;/li&gt;
&lt;li&gt;Die neue &lt;code&gt;Details&lt;/code&gt;-Spalte ist immer in der CSV-Ausgabe enthalten; nutze &lt;code&gt;NoDetailsParsing&lt;/code&gt;, um sie leer zu halten und Performance zu gewinnen&lt;/li&gt;
&lt;li&gt;Bestehende Skripte, die CSV nach Spaltenpositionen parsen, müssen die neue &lt;code&gt;Details&lt;/code&gt;-Spalte (Position 17, vor ComputerName) berücksichtigen&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release notes v1.1.0 (2026-01-23)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.1.0.0/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.1.0.0/</guid><description>&lt;h2 id="hinzugefügt"&gt;Hinzugefügt&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: ContextFilter-Parameter für selektives Log-Parsing
&lt;ul&gt;
&lt;li&gt;Filtert Logeinträge nach Kontexttyp: PACKET (DNS-Anfragen/-Antworten), EVENT (Serverereignisse) oder Note (Diagnoseinformationen)&lt;/li&gt;
&lt;li&gt;Ermöglicht gezielte Analyse bestimmter Logeintragstypen&lt;/li&gt;
&lt;li&gt;Standard: Alle (beinhaltet alle Kontexttypen)&lt;/li&gt;
&lt;li&gt;Anwendungsfälle: Fokus nur auf DNS-Traffic, Überwachung von Serverereignissen, Fehlerbehebung bei Diagnosen&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEU&lt;/strong&gt;: Informationsfeld in der CSV-Ausgabe
&lt;ul&gt;
&lt;li&gt;Erfasst detaillierte Informationen für EVENT- und Note-Kontexteinträge&lt;/li&gt;
&lt;li&gt;Beispiele: „The DNS server has started.“, „Zone loading completed“, Socket-Fehler, interne Statusmeldungen&lt;/li&gt;
&lt;li&gt;Verbessert die Sichtbarkeit von Betriebsereignissen und Diagnosen des DNS-Servers&lt;/li&gt;
&lt;li&gt;Feld wird gefüllt, wenn Kontext EVENT oder Note ist; bei PACKET-Einträgen leer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="geändert"&gt;Geändert&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;BREAKING&lt;/strong&gt;: ComputerName-Spalte wird jetzt immer am Ende aller Ausgabedatensätze eingefügt
&lt;ul&gt;
&lt;li&gt;Bisher: ComputerName wurde nur bedingt am Anfang eingefügt, wenn Parameter angegeben war&lt;/li&gt;
&lt;li&gt;Jetzt: ComputerName immer als letzte Spalte vorhanden; leer, wenn Parameter nicht angegeben&lt;/li&gt;
&lt;li&gt;Vorteil: Konsistente Ausgabe-Struktur erleichtert Zusammenführung von Logs mehrerer Server und automatisierte Verarbeitung&lt;/li&gt;
&lt;li&gt;Auswirkung: Bestehende Skripte, die Spaltenpositionen parsen oder bedingte Spalten erwarten, müssen angepasst werden&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="hinzugefügt-1"&gt;Hinzugefügt&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Kontextfilterung zur Fokussierung auf bestimmte Logeintragstypen (PACKET, EVENT, NOTE) über den ContextFilter-Parameter&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="verbessert"&gt;Verbessert&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Überarbeitete Kommentar-Hilfe für Convert-DNSDebugLogFile für bessere Klarheit und Kürze&lt;/li&gt;
&lt;li&gt;Aktualisierte Parameterbeschreibungen, die informativer und praxisnäher sind&lt;/li&gt;
&lt;li&gt;Verbesserte Beispieldokumentation mit gezielteren und praktischeren Anwendungsfällen&lt;/li&gt;
&lt;li&gt;Erweiterte about_DNSServer.DebugLogParser-Hilfedatei, um aktuelle Funktionalität widerzuspiegeln&lt;/li&gt;
&lt;li&gt;Verbessertes ausführliches Logging für detailliertere Fortschrittsinformationen während der Verarbeitung&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.0.0 (2026-01-23)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.0.0/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/changelog/release-v1.0.0/</guid><description>&lt;h3 id="hinzugefügt"&gt;Hinzugefügt&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Erste Veröffentlichung&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; – Hochleistungsparser für Windows DNS-Server-Debug-Logdateien&lt;/li&gt;
&lt;li&gt;Parst alle 15 Standardfelder aus DNS-Debug-Logs in ein strukturiertes CSV-Format&lt;/li&gt;
&lt;li&gt;Unterstützt anpassbare CSV-Trennzeichen (Standard: Semikolon)&lt;/li&gt;
&lt;li&gt;Optionale Spalte ComputerName zur Konsolidierung von Logs mehrerer Server&lt;/li&gt;
&lt;li&gt;Drei Ausgabemodi: Nur CSV-Daten, nur Statistiken oder beides&lt;/li&gt;
&lt;li&gt;Statistische Zusammenfassungen, die Aktivitäten nach Client-IP, Protokoll und Abfragetyp aggregieren&lt;/li&gt;
&lt;li&gt;Pipeline-Unterstützung für die Stapelverarbeitung mehrerer Logdateien&lt;/li&gt;
&lt;li&gt;Kopfzeilenvalidierung zur Sicherstellung der Datenintegrität (kann bei Bedarf umgangen werden)&lt;/li&gt;
&lt;li&gt;Optionale automatische Komprimierung der Ausgabedateien (ZIP-Format)&lt;/li&gt;
&lt;li&gt;Optionale Löschung der Quelldateien nach erfolgreicher Verarbeitung&lt;/li&gt;
&lt;li&gt;Kulturabhängige Datumsparsing- und Formatierung für internationale DNS-Server&lt;/li&gt;
&lt;li&gt;Optimiert für große Dateien (100 MB +) durch Streaming-I/O und effiziente String-Operationen&lt;/li&gt;
&lt;li&gt;Kompatibel mit PowerShell 5.1+ (Desktop- und Core-Editionen)&lt;/li&gt;
&lt;li&gt;Unterstützt Windows Server 2016+ und DNS-Server 2012 R2 bis 2025 Logformate&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Datenschutzerklärung</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/privacy-policy/</link><pubDate>Sun, 18 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/privacy-policy/</guid><description>&lt;div&gt;&lt;a id="td-block-0" class="td-anchor-no-extra-offset"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;section class="row td-box td-box--primary td-box--height-auto"&gt;
&lt;div class="col"&gt;
&lt;div class="h1"&gt;
&lt;h1 id="datenschutzerklärung"&gt;Datenschutz­erklärung&lt;/h1&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;br&gt;
&lt;h2 id="1-datenschutz-auf-einen-blick"&gt;1. Datenschutz auf einen Blick&lt;/h2&gt;
&lt;h3 id="allgemeine-hinweise"&gt;Allgemeine Hinweise&lt;/h3&gt;
&lt;p&gt;Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung.&lt;/p&gt;
&lt;h3 id="datenerfassung-auf-dieser-website"&gt;Datenerfassung auf dieser Website&lt;/h3&gt;
&lt;h4 id="wer-ist-verantwortlich-für-die-datenerfassung-auf-dieser-website"&gt;Wer ist verantwortlich für die Datenerfassung auf dieser Website?&lt;/h4&gt;
&lt;p&gt;Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten können Sie dem Abschnitt „Hinweis zur Verantwortlichen Stelle“ in dieser Datenschutzerklärung entnehmen.&lt;/p&gt;</description></item><item><title>Impressum</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/impressum/</link><pubDate>Sun, 18 Jan 2026 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/impressum/</guid><description>&lt;div&gt;&lt;a id="td-block-0" class="td-anchor-no-extra-offset"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;section class="row td-box td-box--primary td-box--height-auto"&gt;
&lt;div class="col"&gt;
&lt;div class="h1"&gt;
&lt;h1 id="information-gemäß--5-tmg-telemediengesetz"&gt;Information gemäß § 5 TMG (Telemediengesetz)&lt;/h1&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;br&gt;
&lt;h2 id="impressum"&gt;Impressum&lt;/h2&gt;
&lt;p&gt;Andreas Bellstedt&lt;br&gt;
Brunnenstr. 38&lt;br&gt;
75387 Neubulach&lt;br&gt;
Germany&lt;/p&gt;
&lt;br&gt;
&lt;h2 id="kontakt"&gt;Kontakt&lt;/h2&gt;
&lt;p&gt;Email: &lt;a href="mailto:blog@andibellstedt.com"&gt;blog@andibellstedt.com&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;h2 id="rechtsform--unternehmensstatus"&gt;Rechtsform / Unternehmensstatus&lt;/h2&gt;
&lt;p&gt;Diese Website wird von einer Privatperson bzw. von einem Einzelunternehmer betrieben.&lt;/p&gt;
&lt;br&gt;
&lt;h2 id="verantwortlich-für-den-inhalt-nach--55-abs-2-rstv-rundfunkstaatsvertrag"&gt;Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV (Rundfunkstaatsvertrag)&lt;/h2&gt;
&lt;p&gt;Andreas Bellstedt&lt;br&gt;
(Adresse siehe oben)&lt;/p&gt;
&lt;br&gt;
&lt;h2 id="haftung-für-inhalte"&gt;Haftung für Inhalte&lt;/h2&gt;
&lt;p&gt;Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.&lt;/p&gt;</description></item><item><title>Über den Autor</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/about/</guid><description>&lt;link rel="preload" as="image" href="https://DNSServerDebugLogParser.andibellstedt.com/images/main-background_hu_fa24d3b9a9ebf86.jpg" media="(max-width: 1200px)"&gt;
&lt;link rel="preload" as="image" href="https://DNSServerDebugLogParser.andibellstedt.com/images/main-background_hu_96620a9289dc443e.jpg" media="(min-width: 1200px)"&gt;
&lt;style&gt;
#td-cover-block-0 {
 background-image: url(/images/main-background_hu_fa24d3b9a9ebf86.jpg);
}
@media only screen and (min-width: 1200px) {
 #td-cover-block-0 {
 background-image: url(/images/main-background_hu_96620a9289dc443e.jpg);
 }
}
&lt;/style&gt;
&lt;section id="td-cover-block-0" class="row td-cover-block td-cover-block--height-auto td-below-navbar js-td-cover td-overlay td-overlay--dark -bg-dark" &gt;
 &lt;div class="col-12"&gt;
 &lt;div class="container td-overlay__inner"&gt;
 &lt;div class="text-center"&gt;
 &lt;h1 class="display-1 mt-0 mt-md-5 pb-4"&gt;Über den Autor&lt;/h1&gt;
 &lt;div class="pt-3 lead"&gt;
 &lt;!-- color="primary bg-gradient td-below-navbar" --&gt;
&lt;p&gt;&lt;img src="https://DNSServerDebugLogParser.andibellstedt.com/images/about/author.png" alt="Me"&gt;&lt;/p&gt;
&lt;!-- prettier-ignore --&gt;
&lt;p class="display-6"&gt;- Andi Bellstedt -&lt;/p&gt;
&lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/section&gt;
&lt;div&gt;&lt;a id="td-block-1" class="td-anchor-no-extra-offset"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;section class="row td-box td-box--white td-box--height-auto"&gt;
&lt;div class="col"&gt;
&lt;div class="container"&gt;
&lt;h2 id="hallo-welt"&gt;Hallo Welt!&lt;/h2&gt;
&lt;br&gt;
&lt;p&gt;Ich bin &lt;strong&gt;Andreas Bellstedt&lt;/strong&gt; — ein IT-Profi mit mehr als &lt;strong&gt;20 Jahren Erfahrung&lt;/strong&gt; in Unternehmensumgebungen. Meist werde ich &lt;strong&gt;Andi&lt;/strong&gt; genannt.&lt;br&gt;
Ich brenne für Technologie, aber noch mehr dafür, sie so einzusetzen, dass Zuverlässigkeit, Sicherheit und Betriebseffizienz verbessert werden.&lt;/p&gt;</description></item><item><title>Geplantes Aufgaben-Beispiel</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/examples/scheduletask/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/examples/scheduletask/</guid><description>&lt;p&gt;Dieses Skript erstellt eine Windows-Geplante Aufgabe, die täglich um 2:00 Uhr morgens ausgeführt wird. Es importiert das Modul und verarbeitet alle Protokolldateien im Ordner, in dem das Skript ausgeführt wird (in diesem Beispiel &amp;ldquo;C:\Administration\Logs\DNS&amp;rdquo;). Der Prozess komprimiert die Ausgabe in ZIP-Dateien und entfernt die Originaldateien, um Ordnung zu halten.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-powershell"&gt;$actionParams = @{
 Execute = &amp;quot;powershell.exe&amp;quot;
 Argument = '-ExecutionPolicy RemoteSigned -Command &amp;quot;Import-Module DNSServer.DebugLogParser; Get-ChildItem .\*.log | Sort-Object lastwritetime, Name -Descending | Convert-DNSDebugLogFile -ComputerName $env:COMPUTERNAME -Delimiter \&amp;quot;;\&amp;quot; -OutputType Both -ContextFilter Packet -OutputCulture sv-SE -CompressOutput&amp;quot;'
 WorkingDirectory = &amp;quot;C:\Administration\Logs\DNS&amp;quot;
}
$Action = New-ScheduledTaskAction @actionParams

$Trigger = New-ScheduledTaskTrigger -Daily -At &amp;quot;2:00AM&amp;quot;

Register-ScheduledTask -TaskName &amp;quot;Process DNS Logs&amp;quot; -Action $Action -Trigger $Trigger -Description &amp;quot;Convert DNS debug logs to CSV daily&amp;quot;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Praktische Anwendung in einer Domänenumgebung (GPO-gesteuerte Sammlung und Konvertierung)</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/examples/gpo-driven-collection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/examples/gpo-driven-collection/</guid><description>&lt;p&gt;Dieses Dokument beschreibt ein praktisches, durchgängiges Beispiel für den Einsatz von DNSServer.DebugLogParser in einer Active Directory-Domänenumgebung, mit Fokus auf die Konvertierung von Windows DNS Server-Debug-Protokollen auf Domänencontrollern.&lt;/p&gt;
&lt;p&gt;Dieses Beispiel wird von einem &lt;a href="../gpo/T0-C-Analytics-DNSDebugLogging.zip"&gt;ZIP-Archiv&lt;/a&gt; begleitet, das die Richtlinien-Artefakte enthält, die zur Umsetzung des hier beschriebenen Workflows verwendet werden.&lt;br&gt;
Die wichtigsten Artefakte sind das &lt;a href="../gpo/backup/manifest.xml" target="_blank" rel="noopener noreferrer"&gt;Backup-Manifest&lt;/a&gt;, der &lt;a href="../gpo/backup/{2B6F16BC-0E7C-4787-83D7-2854FED882EE}/gpreport.xml" target="_blank" rel="noopener noreferrer"&gt;GPO-Bericht&lt;/a&gt;, die &lt;a href="../gpo/backup/{2B6F16BC-0E7C-4787-83D7-2854FED882EE}/DomainSysvol/GPO/Machine/Preferences/Files/Files.xml" target="_blank" rel="noopener noreferrer"&gt;Files.xml&lt;/a&gt;, das &lt;a href="../gpo/backup/{2B6F16BC-0E7C-4787-83D7-2854FED882EE}/DomainSysvol/GPO/Machine/Preferences/Files/Set-DNSServerDebugLogging.ps1" target="_blank" rel="noopener noreferrer"&gt;Set-DNSServerDebugLogging.ps1&lt;/a&gt; und die &lt;a href="../gpo/backup/{2B6F16BC-0E7C-4787-83D7-2854FED882EE}/DomainSysvol/GPO/Machine/Preferences/ScheduledTasks/ScheduledTasks.xml" target="_blank" rel="noopener noreferrer"&gt;ScheduledTasks.xml&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="szenario"&gt;Szenario&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Mehrere Domänencontroller (DCs) hosten die DNS-Serverrolle.&lt;/li&gt;
&lt;li&gt;DNS-Debug-Protokollierung ist auf jedem DC aktiviert und wird konsistent über eine geplante Aufgabe konfiguriert (Protokolldateien werden nach &lt;code&gt;C:\Administration\Logs\DNSServer&lt;/code&gt; geschrieben).&lt;/li&gt;
&lt;li&gt;Ein zentral verwalteter Prozess konvertiert die Protokolle in CSV für:
&lt;ul&gt;
&lt;li&gt;Sicherheitsanalysen&lt;/li&gt;
&lt;li&gt;Betriebsberichte&lt;/li&gt;
&lt;li&gt;Fehlerbehebung&lt;/li&gt;
&lt;li&gt;Compliance/Aufbewahrung&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="zielergebnisse"&gt;Zielergebnisse&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Einheitliche Konvertierungseinstellungen auf allen DCs&lt;/li&gt;
&lt;li&gt;Vorhersehbarer Ausgabeort und -namen&lt;/li&gt;
&lt;li&gt;Optionale Komprimierung zur Reduzierung des Speicherbedarfs&lt;/li&gt;
&lt;li&gt;Optionale Statistik-Ausgaben für schnelle tägliche Zusammenfassungen&lt;/li&gt;
&lt;li&gt;Minimales Risiko auf dem Host mit expliziten Wiederholungs- und Bereinigungsüberlegungen&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="vorgeschlagene-architektur"&gt;Vorgeschlagene Architektur&lt;/h2&gt;
&lt;h3 id="sammelmodell-lokale-konvertierung--zentrale-abholung"&gt;Sammelmodell: lokale Konvertierung + zentrale Abholung&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Jeder DC schreibt DNS-Debug-Protokolle mit aktivierter Rollierung auf die Festplatte.&lt;/li&gt;
&lt;li&gt;Jeder DC konvertiert die rotierten &lt;code&gt;*.log&lt;/code&gt;-Dateien in eine Daten-CSV und Statistik-CSVs und komprimiert die Ausgaben dann zeitgesteuert (Task Scheduler) zu &lt;code&gt;*.zip&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Die Ausgaben werden neben den Protokolldateien abgelegt, damit die Pipeline einfach bleibt.&lt;/li&gt;
&lt;li&gt;Ein zentraler Server sammelt die &lt;code&gt;*.zip&lt;/code&gt;-Ausgaben, z. B. über Dateifreigabe, geplante Kopie, SIEM-Forwarder oder einen agentenbasierten Collector.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Dieses Modell minimiert Netzwerkzugriffe auf große Rohprotokolle und hält die Verarbeitung nahe an den Daten.&lt;/p&gt;</description></item><item><title>Website-Informationen</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/site/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/site/</guid><description>&lt;!--
 Dieser Kommentar sollte aus Übersetzungszwecken für Pester-Tests erhalten bleiben, aber der Inhalt dieses Kommentars ist für den Endbenutzer nicht sehr relevant und kann ignoriert werden.
 Diese Seite soll Informationen über die Website bereitstellen, wie z. B. das verwendete Theme, den Build-Prozess und andere relevante Details.
--&gt;
&lt;h2 id="build-informationen"&gt;Build-Informationen&lt;/h2&gt;
&lt;p&gt;Website erstellt mit dem [&lt;span class="badge bg-primary text-bg-primary fs-6"&gt;Docsy]&lt;/span&gt;-Theme für Hugo.&lt;/p&gt;</description></item><item><title>Sicherheitsanalyse-Workflow mit SQL Server</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/examples/security-analysis-sql/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/docs/examples/security-analysis-sql/</guid><description>&lt;p&gt;Dieses Beispiel zeigt einen praktischen Workflow für Sicherheitsanalysen: Ein DNS-Debug-Log wird mit &lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; geparst, die erzeugte CSV-Datei in SQL Server importiert und eine Abfrage ausgeführt, die ungewöhnlich hohe Mengen an TXT-Record-Abfragen hervorhebt.&lt;/p&gt;
&lt;p&gt;Für beste Interoperabilität schreibt dieses Beispiel Zeitstempel in einem ISO-ähnlichen Format, indem &lt;code&gt;-OutputCulture 'sv-SE'&lt;/code&gt; verwendet wird.&lt;/p&gt;
&lt;h2 id="erforderliche-module"&gt;Erforderliche Module&lt;/h2&gt;
&lt;p&gt;Dieses Beispiel verwendet folgende PowerShell-Module:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DNSServer.DebugLogParser&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SqlServer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Installiere sie bei Bedarf:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-powershell"&gt;Install-Module -Name DNSServer.DebugLogParser -Scope CurrentUser
Install-Module -Name SqlServer -Scope CurrentUser
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="szenario"&gt;Szenario&lt;/h2&gt;
&lt;p&gt;Nutze diesen Workflow, wenn du geparste DNS-Debug-Log-Daten in SQL Server verschieben möchtest, um:&lt;/p&gt;</description></item><item><title>Suchergebnisse</title><link>https://DNSServerDebugLogParser.andibellstedt.com/de/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/de/search/</guid><description>&lt;!--
 Diese Seite wird durch das Suchlayout generiert und ist nicht direkt zur Bearbeitung gedacht.
 Der Inhalt wird aus dem Suchindex und der Suchanfrage generiert.
 Die Suchanfrage wird als URL-Parameter "q" übergeben, z.B. /de/search?q=example
--&gt;</description></item></channel></rss>