To wielostronicowy widok tej sekcji do wydrukowania. Kliknij aby wydrukować.

Wróć do zwykłego widoku tej strony.

O tej dokumentacji

To jest oficjalna strona dokumentacji dla DNSServer.DebugLogParser, modułu PowerShell, który przekształca pliki dziennika debugowania serwera DNS Windows w ustrukturyzowane, analizowalne dane CSV.

O module

DNSServer.DebugLogParser powstał z realnej potrzeby: dzienniki debugowania serwera DNS Windows są czytelne dla człowieka, ale nie nadają się do analiz czy raportowania. Ten moduł wypełnia tę lukę, konwertując surowe pliki dziennika do ustrukturyzowanego formatu CSV, który integruje się z popularnymi narzędziami jak Excel, Power BI, bazy danych SQL czy systemy SIEM.

Kluczowe zasady projektowe:

  • Wydajność przede wszystkim — zoptymalizowany pod kątem plików powyżej 100MB, wykorzystujący strumieniowe operacje I/O i operacje na łańcuchach znaków
  • Kompatybilność między edycjami — wspiera PowerShell Desktop (5.1+) oraz Core (7.x)
  • Gotowy do produkcji — zawiera walidację nagłówków, obsługę błędów oraz opcjonalną kompresję
  • Przyjazny dla potoku — naturalnie integruje się z architekturą potokową PowerShell

Zasoby

Współpraca

Wkłady są mile widziane. Jeśli znajdziesz błędy, problemy lub masz sugestie ulepszeń, prosimy o otwarcie zgłoszenia lub pull requesta w repozytorium GitHub.

1 - Przegląd

DNSServer.DebugLogParser to moduł PowerShell, który przekształca pliki dziennika debugowania serwera DNS Windows w ustrukturyzowane, analizowalne dane CSV do analizy bezpieczeństwa, monitorowania wydajności, rozwiązywania problemów oraz raportowania zgodności.

Co to jest dziennik debugowania DNS?

Logowanie debugowania DNS to funkcja serwera DNS Windows, która rejestruje szczegółowe informacje o operacjach DNS. Po włączeniu serwer DNS zapisuje wpisy dziennika do pliku tekstowego (zwykle dns.log) w katalogu serwera DNS.

Każdy wpis dziennika zawiera do 16 pól, w tym:

  • Datę i godzinę zapytania
  • Używany protokół (UDP lub TCP)
  • Kierunek (Wysyłanie lub Odbieranie)
  • Adres IP klienta
  • Typ zapytania (A, AAAA, MX, PTR itd.)
  • Nazwę domeny zapytanej
  • Kod odpowiedzi (NOERROR, NXDOMAIN itd.)
  • Flagi i opcje zapytania
  • Adres IP w odpowiedzi (dla udanych zapytań)
  • Numery portów i dodatkowe szczegóły techniczne

Dlaczego warto analizować dzienniki debugowania DNS?

Dzienniki DNS są kluczowe dla:

Rozwiązywania problemów

  • Diagnozowania błędów rozwiązywania nazw
  • Identyfikowania źle skonfigurowanych klientów lub aplikacji
  • Śledzenia źródła problematycznych zapytań
  • Weryfikacji poprawnej konfiguracji DNS i transferów stref

Monitorowania wydajności

  • Identyfikowania źródeł zapytań o dużym wolumenie
  • Analizowania typów i wzorców zapytań w celu optymalizacji infrastruktury DNS
  • Wykrywania problemów konfiguracyjnych powodujących nadmierne zapytania
  • Śledzenia czasów odpowiedzi i wskaźników sukcesu
  • Monitorowania obciążenia i pojemności serwera DNS

Analizy bezpieczeństwa

  • Wykrywania tunelowania DNS i prób wycieku danych
  • Identyfikowania domen powiązanych z malware i serwerami dowodzenia i kontroli
  • Śledzenia podejrzanych wzorców zapytań, które mogą wskazywać na zainfekowane systemy
  • Monitorowania ataków amplifikacyjnych DNS
  • Badania incydentów bezpieczeństwa i śledzenia aktywności atakujących

Zgodności i audytu

  • Spełniania wymogów regulacyjnych dotyczących logowania i przechowywania danych
  • Dokumentowania aktywności sieciowej na potrzeby audytów
  • Generowania raportów dla zarządu i osób odpowiedzialnych za zgodność
  • Demonstrowania należytej staranności w monitoringu bezpieczeństwa

Jak działa moduł (na wysokim poziomie)

Moduł jest zoptymalizowany pod kątem dużych plików i przetwarza dzienniki debugowania DNS do ustrukturyzowanego formatu CSV. Obsługuje rekordy wieloliniowe (np. bloki szczegółów PACKET i wcięte linie kontynuacji), dzięki czemu komunikaty zdarzeń/diagnostyczne oraz szczegóły pakietów pozostają przypisane do właściwego rekordu.

Kluczowe możliwości:

  • Parsuje natywne pola dziennika debugowania DNS i generuje spójny układ CSV
  • Obsługuje wiele wersji serwera DNS (od 2012 R2 do 2025)
  • Wspiera PowerShell Desktop (5.1+) oraz Core (7.x)
  • Przetwarza pliki dowolnej wielkości (testowano na plikach 100MB+)
  • Waliduje nagłówki plików dziennika, aby zapewnić integralność danych
  • Generuje opcjonalne podsumowania statystyczne
  • Obsługuje przetwarzanie wsadowe przez potok PowerShell
  • Opcjonalnie kompresuje pliki wyjściowe, oszczędzając miejsce na dysku
  • Może automatycznie usuwać pliki źródłowe po pomyślnym przetworzeniu
  • Uwzględnia ustawienia kulturowe przy parsowaniu dat dla międzynarodowych dzienników DNS
  • Uwzględnia ustawienia kulturowe przy formatowaniu dat dla międzynarodowych wymagań wyjściowych

Licencjonowanie i wsparcie

Moduł jest udostępniony na licencji MIT. Wsparcie społecznościowe dostępne jest przez GitHub Issues.

2 - Najlepsze praktyki operacyjne

Podczas korzystania z DNSServer.DebugLogParser w środowisku produkcyjnym:

  1. Zaplanuj regularne przetwarzanie

    • Użyj Harmonogramu zadań, aby automatycznie konwertować nowe pliki dziennika codziennie lub co tydzień.
  2. Odpowiednio rotuj dzienniki

    • Dzienniki debugowania DNS mogą szybko rosnąć; skonfiguruj rotację przy rozsądnym rozmiarze (na przykład 100MB).
  3. Waliduj wynik

    • Zweryfikuj kilka pierwszych przekonwertowanych plików przed pełną automatyzacją.
  4. Zaplanuj wymagania dotyczące przechowywania

    • Nawet z kompresją, zaplanuj miejsce na dysku bazując na wolumenie DNS i okresie przechowywania.
  5. Zabezpiecz dane wrażliwe

    • Dzienniki DNS mogą zawierać wrażliwe dane; chroń wyniki odpowiednimi kontrolami dostępu.
  6. Dokumentuj swój proces

    • Dokumentuj harmonogramy przetwarzania, lokalizacje przechowywania i sposób wykorzystania analiz.
  7. Testuj na plikach przykładowych

    • Zweryfikuj parametry i format wyjścia przed przetwarzaniem krytycznych dzienników.
  8. Monitoruj błędy

    • Obserwuj uszkodzone dzienniki, problemy z dostępem lub niewystarczającą ilość miejsca na dysku.

3 - Rozwiązywanie problemów

Najczęstsze problemy i rozwiązania

„Plik nie jest prawidłowym plikiem dziennika debugowania DNS”

  • Upewnij się, że konwertujesz rzeczywisty dziennik debugowania serwera DNS.
  • Plik powinien zaczynać się od Message logging started at lub zawierać wpisy zapytań DNS.
  • Jeśli jesteś pewien, że plik jest prawidłowy, ale nagłówek się różni, użyj -SkipHeaderValidation.

Plik wyjściowy jest pusty lub niekompletny

  • Potwierdź, że plik wejściowy zawiera prawidłowe wpisy dziennika.
  • Niektóre dzienniki mogą zawierać tylko informacje nagłówkowe, jeśli nie wystąpiły zapytania.
  • Sprawdź, czy plik dziennika nie jest uszkodzony i zawiera rzeczywiste dane zapytań.

Przetwarzanie jest bardzo wolne

  • Upewnij się, że masz wystarczającą ilość pamięci i dysk nie jest mocno obciążony.
  • Rozważ przetwarzanie mniejszych plików dziennika.
  • Rozważ użycie -CompressOutput z zaplanowanym przetwarzaniem, aby obsługiwać mniejsze partie.

Błędy „Access denied”

  • Uruchom PowerShell z odpowiednimi uprawnieniami do odczytu źródłowych plików dziennika i zapisu do katalogu docelowego.
  • Pliki dziennika DNS mogą wymagać uprawnień administratora.

Skompresowany plik wyjściowy jest większy niż oczekiwano

  • Dzienniki z wieloma unikalnymi wartościami kompresują się mniej efektywnie; może to być normalne.
  • Kompresja ZIP zazwyczaj nadal zapewnia znaczne zmniejszenie rozmiaru.

Plik statystyk nie odpowiada oczekiwaniom

  • Sprawdź, czy używasz -OutputType Both lub -OutputType Statistic.
  • Statystyki to zagregowane liczby (grupowanie dzienne), więc wartości reprezentują sumy.

Zgłaszanie problemów

Jeśli napotkasz problemy nieopisane tutaj:

  1. Sprawdź, czy używasz najnowszej wersji modułu.
  2. Przejrzyj Issues na GitHub pod kątem podobnych problemów.
  3. Zbierz informacje diagnostyczne:
    • wersja PowerShell ($PSVersionTable)
    • wersja modułu (Get-Module DNSServer.DebugLogParser)
    • przykładowy plik dziennika (jeśli to możliwe)
    • pełny komunikat o błędzie i ślad stosu
  4. Otwórz nowe zgłoszenie na GitHub z tymi szczegółami.

4 - Referencja poleceń modułu

Tutaj znajdziesz referencję wszystkich poleceń w module. Ta referencja ma pomóc Ci szybko znaleźć potrzebne polecenie i zrozumieć, jak skutecznie z niego korzystać.

Klikając na polecenie, zostaniesz przeniesiony do szczegółowej strony zawierającej kompleksowe informacje o poleceniu, w tym jego składnię, parametry, przykłady oraz dodatkowe uwagi lub wskazówki dotyczące użytkowania.

4.1 - Convert-DNSDebugLogFile

SYNOPSIS

Konwertuje pliki dziennika debugowania serwera DNS Windows do formatu CSV.

SYNTAX

__AllParameterSets

Convert-DNSDebugLogFile [-InputFile] <string[]> [[-OutputFile] <string>] [[-Delimiter] <string>]
 [[-ComputerName] <string>] [[-OutputType] <string>] [[-InputCulture] <cultureinfo>]
 [[-OutputCulture] <cultureinfo>] [-SkipHeaderValidation] [-RemoveSourceFile] [-CompressOutput]
 [-WhatIf] [-Confirm] [<CommonParameters>]

ALIASES

Ten cmdlet ma następujące aliasy,

DESCRIPTION

Wysokowydajny parser plików dziennika debugowania serwera DNS Windows, zaprojektowany, aby uczynić aktywność serwera DNS przejrzystą, analizowalną i ocenialną w narzędziach raportowania i analityki.

Dzienniki debugowania serwera DNS zawierają szczegółowe informacje o zapytaniach/odpowiedziach, ale są trudne do analizy w surowym formacie tekstowym.
Ten skrypt przekształca te dzienniki w ustrukturyzowane pliki CSV, które można importować do Excela, Power BI, baz danych SQL lub innych platform analizy danych.

KLUCZOWE MOŻLIWOŚCI:

  • Parsuje wszystkie 16 pól z dzienników debugowania DNS (data, czas, protokół, IP klienta, typ zapytania itd.)
  • Generuje ustrukturyzowany plik CSV z konfigurowalnym separatorem
  • Tworzy opcjonalne podsumowania statystyczne agregujące aktywność według klienta, protokołu i typu zapytania
  • Przetwarza pojedyncze pliki lub partie przez potok
  • Obsługuje zarówno standardowe, jak i szczegółowe formaty dzienników debugowania DNS
  • Opcjonalna automatyczna kompresja plików wyjściowych w celu oszczędności miejsca na dysku
  • Opcjonalne usuwanie plików źródłowych po pomyślnym przetworzeniu
  • Waliduje nagłówki plików dziennika, aby zapewnić integralność danych

ZASTOSOWANIA:

  • Analiza bezpieczeństwa: identyfikacja podejrzanych wzorców zapytań DNS
  • Monitorowanie wydajności: śledzenie wolumenów zapytań i czasów odpowiedzi
  • Planowanie pojemności: analiza obciążenia serwera DNS i rozkładu klientów
  • Raportowanie zgodności: dokumentowanie aktywności DNS dla wymagań audytu
  • Rozwiązywanie problemów: badanie problemów z rozwiązywaniem DNS

WYDAJNOŚĆ:
Optymalizowany dla dużych plików (100MB+) poprzez:

  • Operacje na łańcuchach zamiast wyrażeń regularnych do parsowania
  • StreamReader/StreamWriter z buforami 64KB
  • Ręczne generowanie CSV, aby uniknąć narzutu Export-Csv
  • Wydajne zbieranie statystyk oparte na słownikach

KOMPATYBILNOŚĆ:

  • PowerShell 5.1+ na Windows
  • PowerShell 7+ na Windows
  • Windows Server 2016 i nowsze
  • Obsługuje formaty dzienników debugowania DNS Server od 2012 R2 do 2025

EXAMPLES

EXAMPLE 1

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log"

Konwertuje dziennik debugowania DNS do formatu CSV z domyślnymi ustawieniami.
Wynik: C:\Logs\dns.csv (tylko dane, separator średnik).

EXAMPLE 2

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputType Both

Konwertuje dziennik debugowania DNS i generuje oba pliki wyjściowe.
Wyniki: C:\Logs\dns.csv (dane) oraz C:\Logs\dns_statistic.csv (statystyki zagregowane).

EXAMPLE 3

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputType Statistic

Generuje tylko plik statystyk bez tworzenia pełnego pliku CSV z danymi.
Wynik: C:\Logs\dns_statistic.csv (tylko statystyki).

EXAMPLE 4

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputFile "C:\Output\parsed.csv"

Konwertuje dziennik debugowania DNS do niestandardowej lokalizacji wyjściowej.
Wynik: C:\Output\parsed.csv.

EXAMPLE 5

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -Delimiter "," -ComputerName "DNS01" -OutputType Both

Konwertuje dziennik z separatorem przecinka i kolumną ComputerName.
Wyniki: C:\Logs\dns.csv oraz C:\Logs\dns_statistic.csv, oba z wartością “DNS01” w kolumnie ComputerName.

EXAMPLE 6

PS C:\> Get-ChildItem "C:\Logs\*.log" | .\Convert-DnsDebugLogFile.ps1 -OutputType Both

Przetwarza wiele plików dziennika debugowania DNS przez potok.
Wyniki: Dla każdego pliku .log generuje pliki .csv (dane) i _statistic.csv (statystyki).

EXAMPLE 7

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -CompressOutput

Konwertuje dziennik debugowania DNS i kompresuje wynik do archiwum ZIP.
Wynik: C:\Logs\dns.zip zawierający dns.csv. Nieskompresowany plik csv jest usuwany po kompresji.

EXAMPLE 8

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputType Both -CompressOutput

Konwertuje dziennik z generowaniem statystyk i kompresuje oba pliki wyjściowe.
Wynik: C:\Logs\dns.zip zawierający dns.csv oraz dns_statistic.csv.

EXAMPLE 9

PS C:\> Get-ChildItem "C:\Logs\*.log" | .\Convert-DnsDebugLogFile.ps1 -RemoveSourceFile -CompressOutput

Przetwarza wiele plików dziennika, kompresuje wyjście i usuwa pliki źródłowe.
Każdy plik .log jest konwertowany do skompresowanego .zip, a następnie plik .log jest usuwany.
Idealne do automatycznych procesów archiwizacji dzienników.

EXAMPLE 10

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\old_dns.log" -RemoveSourceFile -Verbose

Konwertuje plik dziennika i usuwa plik źródłowy po pomyślnym przetworzeniu.
Szczegółowe informacje potwierdzają usunięcie pliku. Używaj ostrożnie, ponieważ pliki źródłowe są trwale usuwane.

EXAMPLE 11

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -InputCulture 'de-DE'

Konwertuje dziennik debugowania DNS z niemieckiego serwera Windows.
Używaj, gdy plik dziennika pochodzi z serwera z innymi ustawieniami regionalnymi.

EXAMPLE 12

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -InputCulture ([System.Globalization.CultureInfo]::GetCultureInfo('sv-SE'))

Konwertuje dziennik debugowania DNS ze szwedzkiego serwera Windows używającego formatu daty ISO (RRRR-MM-DD).
Przydatne do przetwarzania dzienników z serwerów o różnych ustawieniach regionalnych.

EXAMPLE 13

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -InputCulture 'de-DE' -OutputCulture 'en-US'

Konwertuje dziennik debugowania DNS z niemieckiego serwera Windows i formatuje daty wyjściowe dla systemów amerykańskich.
Przydatne do przetwarzania dzienników z serwerów międzynarodowych dla systemów w USA.

EXAMPLE 14

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -OutputCulture ([System.Globalization.CultureInfo]::InvariantCulture)

Konwertuje dziennik debugowania DNS i formatuje daty wyjściowe w formacie ISO 8601 (RRRR-MM-DD).
Idealne do kompatybilności międzyplatformowej lub wymiany danych.

EXAMPLE 15

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -WhatIf

Pokazuje, co by się stało, gdyby polecenie zostało wykonane, bez faktycznego tworzenia plików.
Przydatne do testowania parametrów przed przetwarzaniem rzeczywistych danych.

EXAMPLE 16

PS C:\> .\Convert-DnsDebugLogFile.ps1 -InputFile "C:\Logs\dns.log" -RemoveSourceFile -CompressOutput -WhatIf

Podgląd całego procesu, włącznie z kompresją i usuwaniem plików źródłowych.
Nie tworzy, nie kompresuje ani nie usuwa plików — tylko pokazuje, co by się stało.

PARAMETERS

-CompressOutput

Kompresuje pliki CSV wyjściowe do archiwum ZIP po ich utworzeniu.

Tworzy plik .zip zawierający wygenerowane pliki CSV, a następnie usuwa nieskompresowane pliki CSV.
Plik ZIP jest tworzony w tym samym katalogu co plik CSV i ma tę samą nazwę bazową.
Kompresja następuje natychmiast po przetworzeniu każdego pliku, aby efektywnie zarządzać miejscem na dysku.

Zalety:

  • Znacznie zmniejsza zużycie miejsca na dysku (pliki CSV dobrze się kompresują)
  • Upraszcza zarządzanie i archiwizację plików
  • Nadaje się do długoterminowego przechowywania przetworzonych dzienników

Przykład: Plik wejściowy ‘dns.log’ generuje ‘dns.csv’, który jest kompresowany do ‘dns.zip’, a następnie ‘dns.csv’ jest usuwany.

Kompatybilne z PowerShell 5.1+ i Windows Server 2016+.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ComputerName

Opcjonalne.
Jeśli określone, dodaje kolumnę ComputerName do pliku CSV z podaną wartością.
Przydatne przy konsolidacji dzienników z wielu serwerów DNS.

Ważne: To NIE jest funkcja zdalnego wykonywania.
Skrypt przetwarza tylko pliki lokalne.

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Server
- DNSServer
- HostName
ParameterSets:
- Name: (All)
  Position: 3
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Confirm

Pyta o potwierdzenie przed wykonaniem cmdletu.

Gdy określone, wymaga potwierdzenia przed:

  • Przetwarzaniem każdego pliku dziennika debugowania DNS
  • Usuwaniem plików źródłowych (gdy podano -RemoveSourceFile)
  • Nadpisywaniem istniejących plików wyjściowych

Przydatne do interaktywnego przetwarzania, gdy chcesz kontrolować, które pliki są przetwarzane.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Delimiter

Znak separatora dla pliku CSV.

Domyślnie średnik ‘;’

Type: String
DefaultValue: ;
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 2
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputCulture

Określa kulturę do parsowania wartości daty/czasu w dzienniku debugowania DNS.

Dzienniki debugowania serwera DNS używają formatu daty zgodnego z lokalizacją Windows na serwerze, na którym dziennik został wygenerowany.
Ten parametr pozwala na parsowanie dzienników z serwerów o różnych ustawieniach regionalnych.

Domyślnie bieżąca kultura ([System.Globalization.CultureInfo]::CurrentCulture).

Popularne wartości kultury:

  • ‘de-DE’ lub ‘de-AT’: format niemiecki (DD.MM.RRRR lub DD/MM/RRRR)
  • ’en-US’: format amerykański (MM/DD/RRRR)
  • ’en-GB’: format brytyjski (DD/MM/RRRR)
  • ‘sv-SE’: format szwedzki/ISO (RRRR-MM-DD)

Przykład: -InputCulture ‘de-DE’ dla dzienników z niemieckiego serwera Windows.
Przykład: -InputCulture ([System.Globalization.CultureInfo]::GetCultureInfo(‘sv-SE’)) dla dzienników szwedzkich.

Type: CultureInfo
DefaultValue: '[System.Globalization.CultureInfo]::CurrentCulture'
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 5
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputFile

Ścieżka do pliku dziennika debugowania DNS do parsowania.
Obsługuje tablice do przetwarzania wielu plików.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- FullName
- FilePath
- InputPath
- File
- Path
ParameterSets:
- Name: (All)
  Position: 0
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputCulture

Określa kulturę do formatowania wartości daty/czasu w plikach CSV wyjściowych.

Parametr kontroluje sposób zapisu wartości DateTime w pliku CSV.
Przydatne, gdy pliki CSV będą używane przez aplikacje lub systemy o określonych ustawieniach regionalnych.

Domyślnie bieżąca kultura ([System.Globalization.CultureInfo]::CurrentCulture).

Popularne wartości kultury:

  • ’en-US’: format amerykański (MM/DD/RRRR)
  • ‘de-DE’: format niemiecki (DD.MM.RRRR)
  • ’en-GB’: format brytyjski (DD/MM/RRRR)
  • ‘sv-SE’: format szwedzki/ISO (RRRR-MM-DD)

Przykład: -OutputCulture ’en-US’ do formatowania dat dla systemów amerykańskich.
Przykład: -OutputCulture ([System.Globalization.CultureInfo]::InvariantCulture) dla formatu ISO.

Type: CultureInfo
DefaultValue: '[System.Globalization.CultureInfo]::CurrentCulture'
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 6
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputFile

Opcjonalne.
Ścieżka do pliku CSV wyjściowego.
Jeśli nie określono, używa nazwy pliku wejściowego z rozszerzeniem .csv.

Musi być to ścieżka do pliku, nie katalogu.
Jeśli chcesz określić tylko katalog wyjściowy, pomiń ten parametr, a skrypt użyje tego samego katalogu co plik wejściowy.

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Output
- Destination
- OutFile
- OutputPath
ParameterSets:
- Name: (All)
  Position: 1
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputType

Określa typ generowanego wyjścia.

Dopuszczalne wartości:

  • ‘CSV’: generuje tylko plik CSV z parsowanymi danymi (domyślnie)
  • ‘Statistic’: generuje tylko plik statystyk z danymi zagregowanymi
  • ‘Both’: generuje oba pliki: CSV i statystyki

Domyślnie ‘Both’.

Type: String
DefaultValue: Both
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 4
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-RemoveSourceFile

Usuwa źródłowy plik dziennika debugowania DNS po pomyślnym przetworzeniu.

Użyj tego przełącznika, aby automatycznie usuwać pliki wejściowe po ich pomyślnym sparsowaniu i utworzeniu plików wyjściowych.
Przydatne do:

  • Automatycznych procesów przetwarzania dzienników
  • Zarządzania miejscem na dysku w scenariuszach zbierania dzienników
  • Zapobiegania ponownemu przetwarzaniu już skonwertowanych plików

Funkcje bezpieczeństwa:

  • Usuwa pliki tylko po pomyślnym przetworzeniu i utworzeniu wyjścia
  • Pomija usuwanie, jeśli przetwarzanie się nie powiedzie lub zostanie przerwane
  • Nie można używać razem z -SkipHeaderValidation ze względów bezpieczeństwa

Ostrzeżenie: Pliki źródłowe są trwale usuwane.
Upewnij się, że pliki wyjściowe są poprawne przed użyciem tej opcji.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-SkipHeaderValidation

Pomija sprawdzanie poprawności nagłówka pliku dziennika debugowania DNS.

Domyślnie skrypt weryfikuje, czy pliki wejściowe mają poprawną strukturę nagłówka dziennika debugowania serwera DNS.
Użyj tego przełącznika, aby przetwarzać pliki bez walidacji nagłówka, co może być przydatne do:

  • Przetwarzania zmodyfikowanych lub niestandardowych formatów dzienników
  • Rozwiązywania problemów z walidacją
  • Przetwarzania dzienników z niestandardowymi nagłówkami

Ostrzeżenie: Użycie tego parametru może skutkować błędami przetwarzania, jeśli plik nie jest prawidłowym dziennikiem DNS.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

Pokazuje, co by się stało, gdyby cmdlet został uruchomiony.
Cmdlet nie jest wykonywany.

Gdy określone, wyświetla szczegółowe informacje o operacjach, które zostałyby wykonane, bez faktycznego ich wykonania.
Przydatne do:

  • Podglądu, które pliki zostałyby przetworzone
  • Weryfikacji ścieżek plików wyjściowych przed przetwarzaniem
  • Testowania skryptów przed uruchomieniem w środowisku produkcyjnym
Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

Ten cmdlet obsługuje parametry wspólne: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction oraz -WarningVariable. Więcej informacji znajdziesz w
about_CommonParameters.

INPUTS

System.String[]

NOTES

Wersja: 1.2.0.0
Autor: Andreas Bellstedt, Copilot
Data: 2026-01-23
Słowa kluczowe: Microsoft, Windows Server, DNSServer, DNS, DebugLog, LogParser