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)