Questa è la versione stampabile multipagina di questa sezione. Clicca qui per stampare.

Torna alla visualizzazione normale di questa pagina.

Cronologia delle versioni del modulo

Note di rilascio versionate per il modulo PowerShell DNSServer.DebugLogParser

Questa sezione contiene le note di rilascio versionate per le varie versioni del modulo PowerShell DNSServer.DebugLogParser.

Note di rilascio v1.2.2.0 (2026-07-24)

Aggiunto

  • NUOVO: Supporto per la lettura dei file di log di debug del server DNS attualmente aperti dal servizio DNS
    • Consente l’elaborazione di file di log attivi senza richiedere che il file venga prima chiuso
    • Migliora la compatibilità con i log che sono ancora in scrittura o tenuti aperti da un altro processo
    • Fai attenzione quando elabori log in tempo reale, poiché i record potrebbero essere incompleti o in fase di aggiornamento
  • NUOVO: Supporto per percorsi SMB/UNC durante la lettura dei file di log di origine
    • Permette al parser di lavorare con file archiviati su condivisioni di rete e posizioni remote
    • Migliora l’affidabilità in ambienti di archiviazione centralizzata o condivisa

Modificato

  • Metadati del modulo: Aggiornati ProjectUri e ReleaseNotes per puntare al sito ufficiale https://dnsserverdebuglogparser.andibellstedt.com per una migliore reperibilità e accesso alla documentazione
  • Accesso ai file corretto: Aggiornata la logica sottostante di apertura dei file per usare un accesso basato su stream con opzioni esplicite per scenari di lettura condivisa
    • Migliora la gestione dei file di log attivi e di tipi di percorso alternativi come le condivisioni UNC
    • Mantiene un comportamento coerente per fonti di file locali e remote

Note di rilascio v1.2.1.0 (2026-01-26)

Modifiche

  • Prestazioni: Migliorata l’elaborazione di record multilinea per evitare il caricamento di file di grandi dimensioni in memoria
    • Previene errori di esaurimento memoria su file di log molto grandi
    • Mantiene il pieno supporto per i blocchi di dettaglio PACKET e le righe di continuazione indentate
    • L’uso della memoria è ora costante indipendentemente dalla dimensione del file
  • Avanzamento: Aggiunto Write-Progress per il feedback durante l’elaborazione
    • La barra di avanzamento si aggiorna ogni 1000 record per un impatto minimo sulle prestazioni
    • Mostra il conteggio record corrente e il file in elaborazione

Note di rilascio v1.2.0.0 (2026-01-25)

Aggiunte

  • NUOVO: Elaborazione di record multi-linea per i blocchi di dettaglio PACKET DNS
    • Le voci di contesto PACKET possono ora includere informazioni dettagliate sulla connessione TCP/UDP e sulla struttura del messaggio DNS
    • I blocchi di dettaglio vengono analizzati in formato JSON strutturato nella nuova colonna Details
    • Include: informazioni sul socket, indirizzo/porta remota, dati temporali, struttura del messaggio (XID, Flags, QCOUNT, ecc.)
    • Le sezioni DNS (QUESTION, ANSWER, AUTHORITY, ADDITIONAL) sono catturate con tutti i dettagli del record
    • I nomi di dominio codificati nei blocchi di dettaglio vengono automaticamente convertiti in formato FQDN
  • NUOVO: colonna Details nell’output CSV
    • Contiene dati JSON strutturati per le voci PACKET con blocchi di dettaglio
    • Vuota per le voci PACKET senza dettagli e per tutti i contesti non-PACKET
    • Permette un’analisi approfondita dei pacchetti e indagini forensi su query/risposte DNS
  • NUOVO: parametro switch NoDetailsParsing per ottimizzazione delle prestazioni
    • Salta l’analisi JSON costosa dei blocchi di dettaglio PACKET
    • Può migliorare la velocità di elaborazione del 30-50% per log con molti blocchi di dettaglio
    • Da usare quando si elaborano file molto grandi (oltre 100MB) e non serve la struttura dettagliata dei pacchetti
    • I blocchi di dettaglio vengono comunque raccolti nella colonna Information, ma la colonna Details resta vuota
  • NUOVO: supporto per continuazione multi-linea anche per contesti non-PACKET
    • EVENT, Note, DSPoll e altri contesti possono ora estendersi su più righe
    • Le righe di continuazione indentate vengono automaticamente unite al campo Information del record principale
    • Conserva messaggi di errore completi, aggiornamenti di zona e output diagnostici
  • NUOVO: ContextFilter riconosce tipi di contesto aggiuntivi: DSPoll, Init, Lookup, Recurse, Remote, Tombstone
    • Effetto: Convert-DNSDebugLogFile può ora includere/escludere queste voci diagnostiche e di ciclo di vita tramite -ContextFilter
  • NUOVO: output delle statistiche ora include due file dedicati
    • _Statistic.csv: conteggi giornalieri dei record per tipo di contesto (Date, Context, Count, ComputerName)
    • _PacketStatistic.csv: conteggi giornalieri PACKET per client/protocollo/direzione/tipo (Date, ClientIP, Protocol, Direction, QuestionType, Count, ComputerName)
    • Vantaggio: report più mirati (volume contesto operativo vs. suddivisione traffico DNS)
  • Generazione JSON per i blocchi di dettaglio PACKET ottimizzata per prestazioni (analisi manuale invece di regex)

Modifiche

  • BREAKING: l’output CSV ora include 18 colonne (aggiunta colonna Details prima di ComputerName)
    • Nuovo ordine colonne: DateTime, ThreadId, Context, PacketId, Protocol, Direction, ClientIP, Xid, Type, Opcode, FlagsHex, FlagsChar, ResponseCode, QuestionType, QuestionName, Information, Details, ComputerName
    • Impatto: gli script che si basano sulle posizioni delle colonne devono essere aggiornati
    • Vantaggio: capacità avanzate di analisi pacchetti senza modificare il comportamento della colonna Information esistente
  • Elaborazione delle righe dati rifattorizzata per leggere tutte le righe in memoria e rilevare efficientemente record multi-linea
    • Prestazioni: impatto minimo grazie all’uso ottimizzato di List
    • Vantaggio: consente un lookahead accurato per blocchi di dettaglio e righe di continuazione
  • I nomi delle query mancanti o codificati come vuoti ora vengono gestiti senza errori di parsing; l’output CSV conterrà un campo QuestionName vuoto se assente

Miglioramenti

  • Parsing di Convert-DNSDebugLogFile più robusto: validazione più rigorosa delle righe ed estrazione migliorata riducono righe spurie/invalide da log malformati mantenendo il formato CSV/statistiche
  • Rilevamento del contesto PACKET distingue tra query semplici e query con blocchi di dettaglio
  • Le righe vuote dopo voci PACKET senza dettagli vengono saltate correttamente
  • La decodifica dei nomi di dominio nei blocchi di dettaglio usa la funzione esistente ConvertTo-Fqdn per coerenza

Prestazioni

  • Velocità di elaborazione mantenuta per log senza blocchi di dettaglio
  • Lo switch NoDetailsParsing offre un miglioramento di velocità del 30-50% quando non serve il parsing JSON
  • Gestione efficiente dello stato durante l’elaborazione dei record multi-linea
  • Operazioni su stringhe ottimizzate (TrimStart, Join) invece di regex per la gestione delle righe di continuazione

Note

  • Queste modifiche sono progettate per essere retrocompatibili per un uso normale. Se ti basi su un set esatto di nomi di contesto o su un comportamento di parsing precedentemente rigoroso, verifica gli script a valle
  • La nuova colonna Details è sempre presente nell’output CSV; usa NoDetailsParsing per mantenerla vuota per prestazioni
  • Gli script esistenti che analizzano il CSV per posizione colonna devono considerare la nuova colonna Details (posizione 17, prima di ComputerName)

Note di rilascio v1.1.0 (2026-01-23)

Aggiunto

  • NUOVO: Parametro ContextFilter per l’analisi selettiva dei log
    • Filtra le voci di log per tipo di contesto: PACKET (query/risposte DNS), EVENT (eventi del server) o Note (informazioni diagnostiche)
    • Permette un’analisi mirata su specifici tipi di voci di log
    • Predefinito: All (include tutti i tipi di contesto)
    • Casi d’uso: Concentrarsi solo sul traffico DNS, monitorare eventi del server, risolvere problemi diagnostici
  • NUOVO: Campo Informazioni nell’output CSV
    • Registra informazioni dettagliate per le voci di contesto EVENT e Note
    • Esempi: “Il server DNS è stato avviato.”, “Caricamento della zona completato”, errori di socket, messaggi di stato interni
    • Migliora la visibilità sugli eventi operativi e diagnostici del server DNS
    • Il campo è popolato quando il contesto è EVENT o Note; vuoto per le voci PACKET

Modificato

  • BREAKING: La colonna ComputerName è ora sempre inclusa alla fine di tutti i record di output
    • In precedenza: ComputerName veniva inclusa condizionatamente all’inizio quando il parametro era specificato
    • Ora: ComputerName è sempre presente come ultima colonna; vuota se il parametro non è specificato
    • Vantaggio: Struttura di output coerente semplifica la consolidazione di log da più server e l’elaborazione automatizzata
    • Impatto: Gli script esistenti che analizzano la posizione delle colonne o si aspettano la presenza condizionata della colonna devono essere aggiornati

Aggiunto

  • Filtraggio del contesto per concentrarsi su specifici tipi di voci di log (PACKET, EVENT, NOTE) tramite il parametro ContextFilter

Migliorato

  • Rifattorizzata l’help basata su commenti per Convert-DNSDebugLogFile per maggiore chiarezza e sintesi
  • Aggiornate le descrizioni dei parametri per essere più informative e pratiche
  • Migliorata la documentazione degli esempi con casi d’uso più mirati e pratici
  • Aggiornato il file di help about_DNSServer.DebugLogParser per riflettere le funzionalità attuali
  • Potenziato il logging verbose per fornire informazioni di progresso più dettagliate durante l’elaborazione

v1.0.0 (2026-01-23)

Aggiunto

  • Rilascio iniziale
  • Convert-DNSDebugLogFile - Parser ad alte prestazioni per i file di log di debug del server DNS di Windows
  • Analizza tutti i 15 campi standard dai log di debug DNS in formato CSV strutturato
  • Supporta delimitatori CSV personalizzabili (predefinito: punto e virgola)
  • Colonna ComputerName opzionale per la consolidazione dei log da più server
  • Tre modalità di output: solo dati CSV, solo statistiche o entrambi
  • Riepiloghi statistici che aggregano l’attività per IP client, protocollo e tipo di query
  • Supporto pipeline per l’elaborazione batch di più file di log
  • Validazione dell’intestazione per garantire l’integrità dei dati (può essere bypassata se necessario)
  • Compressione automatica opzionale dei file di output (formato ZIP)
  • Rimozione opzionale dei file sorgente dopo l’elaborazione riuscita
  • Parsing e formattazione delle date sensibili alla cultura per server DNS internazionali
  • Ottimizzato per file di grandi dimensioni (oltre 100MB) utilizzando I/O in streaming e operazioni stringa efficienti
  • Compatibile con PowerShell 5.1+ (edizioni Desktop e Core)
  • Supporta i formati di log di Windows Server 2016+ e DNS Server 2012 R2 fino al 2025