Rozwiązywanie problemów
For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /pl/docs/08-troubleshooting/index.md.
„Plik nie jest prawidłowym plikiem dziennika debugowania DNS”
Sprawdzenie nagłówka odrzuciło dane wejściowe. Zwykle ścieżka jest po prostu błędna — plik .log w tym samym folderze, który nie jest dziennikiem debugowania DNS, lub plik zawierający tylko obrócony nagłówek.
Przejdź przez to krok po kroku:
Otwórz plik. Dziennik debugowania DNS zaczyna się od linii nagłówka takiej jak
Message logging started at …i zawiera wpisy zapytań z oznaczeniem czasu.Potwierdź, że debugowanie DNS jest faktycznie włączone i zapisuje do oczekiwanej ścieżki:
Get-DnsServerDiagnostics | Select-Object Enable, LogFilePath, MaxMBFileSizeJeśli plik faktycznie jest dziennikiem DNS, ale nagłówek jest nietypowy — ręcznie edytowany, wstępnie filtrowany, niestandardowy eksport — pomiń sprawdzanie:
Convert-DNSDebugLogFile -InputFile "C:\Logs\odd.log" -SkipHeaderValidation
Zachowaj weryfikację w pozostałych miejscach. Pamiętaj, że -SkipHeaderValidation nie może być łączone z -RemoveSourceFile, więc niezweryfikowany plik nigdy nie zostanie usunięty podczas konwersji.
Plik wyjściowy jest pusty lub ma znacznie mniej wierszy niż oczekiwano
Sprawdź kolejno:
- Czy dziennik w ogóle zawiera wpisy zapytań? Świeżo obrócony dziennik może zawierać tylko nagłówek, jeśli jeszcze nie było zapytań.
- Czy używasz
-ContextFilter?-ContextFilter Packetusuwa wpisyEventiNotezgodnie z założeniem. Jeśli filtrowałeś doEventlubNote, większość kolumn będzie pusta — te typy wpisów zawierają tylkoDateTime,ThreadId,ContextiInformation. - Czy dziennik źródłowy był aktywny? Plik, do którego DNS Server nadal zapisuje, może się zmieniać podczas konwersji; najnowsze wpisy mogą być nieobecne, a ostatni rekord może być obcięty. Konwertuj obrócony, zamknięty dziennik, gdy potrzebujesz kompletnego wyniku.
- Czy plik jest uszkodzony lub obcięty? Sprawdź koniec dziennika pod kątem niedokończonej linii.
Daty są błędne, przesunięte lub dzień i miesiąc są zamienione miejscami
Dziennik został zapisany przez serwer z inną lokalizacją Windows niż sesja wykonująca konwersję. 20.01.2026 i 01/20/2026 opisują ten sam moment, ale tylko jeśli obie strony zgadzają się co do formatu.
# dziennik pochodzi z niemieckiego serwera
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns-berlin.log" -InputCulture 'de-DE'
Ustaw -InputCulture jawnie w zadaniach zaplanowanych, zamiast polegać na kulturze konta, które je uruchamia. Jeśli wynik ma być czytelny dla maszyny, dodaj -OutputCulture 'sv-SE'. Szczegóły w Parametry i opcje.
Wszystko trafia do jednej kolumny po imporcie
Niezgodność separatora. Moduł domyślnie używa ;; twój program oczekiwał , (lub odwrotnie).
Albo uruchom konwersję ponownie z separatorem, którego oczekuje odbiorca:
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -Delimiter ","
…albo powiedz importerowi, jaki separator ma plik — w Excelu przez Dane → Z tekstu/CSV, w PowerShell przez Import-Csv -Delimiter ';'.
„Odmowa dostępu”
- Katalog dzienników DNS zwykle wymaga uprawnień administratora. Uruchom PowerShell jako administrator lub uruchom zadanie zaplanowane na koncie z dostępem.
- Sprawdź także uprawnienia zapisu do katalogu wyjściowego, nie tylko odczytu dziennika.
- Dla ścieżek SMB/UNC: zadanie uruchamiane jako
SYSTEMuwierzytelnia się w sieci jako konto komputera. Przyznaj prawa udziału i NTFS temu kontu komputera (lub grupieDomain Controllers), albo użyj dedykowanego konta usługi. - Jeśli
-RemoveSourceFilenie powiodło się na końcu pomyślnego przebiegu, konto może czytać dziennik, ale nie może go usunąć.
Przetwarzanie jest bardzo wolne
- Najpierw dysk — konwersja jest ograniczona przez I/O. Obciążony wolumin lub wolna ścieżka sieciowa dominują czas działania.
- Użyj
-NoDetailsParsing, jeśli nie potrzebujesz szczegółów pakietu w formacie JSON; na dziennikach z dużą ilością szczegółów oszczędza to 30–50%. - Użyj
-ContextFilter Packet, aby zapisać mniej danych. - Dziel ogromne dzienniki przez obrót dzienników DNS Server zamiast konwertować jeden ogromny plik.
- Rozważ wykluczenie katalogu dzienników z antywirusa.
Więcej w Wydajność.
Skompresowany plik wyjściowy jest większy niż oczekiwano
Dzienniki o bardzo różnorodnej zawartości — wiele unikalnych domen, wielu różnych klientów — kompresują się gorzej niż powtarzalne. To normalne. ZIP zwykle i tak osiąga znaczną redukcję; jeśli nie, sprawdź, czy kolumna Details nie powiększa pliku i czy w ogóle jej potrzebujesz.
Statystyki nie zgadzają się z oczekiwaniami
- Potwierdź, że użyłeś
-OutputType Bothlub-OutputType Statistic. Przy-OutputType CSVpliki statystyk nie są w ogóle zapisywane. Countto suma, nie liczba unikalna. Jeden klient pytający o tę samą nazwę 500 razy daje 500. To najczęstsza przyczyna „ta liczba nie może być prawidłowa”.- Statystyki są grupowane na dni. Dziennik obejmujący dwa dni daje wiersze dla obu.
- Jeśli
ComputerNamejest pusty w plikach statystyk, podczas konwersji nie ustawiono-ComputerName.
Zadanie zaplanowane działa interaktywnie, ale nie jako zadanie
Prawie zawsze jedna z trzech rzeczy:
- Moduł nie znaleziony.
SYSTEMz-NoProfilewidzi tylko ścieżki modułów globalnych. Zainstaluj moduł globalnie lub dodaj jawneImport-Module DNSServer.DebugLogParserdo akcji zadania. - Zła kultura. Lokalizacja konta zadania różni się od twojej. Ustaw jawnie
-InputCulturei-OutputCulture. - Polityka wykonania lub niepodpisany skrypt. Dopasuj
-ExecutionPolicyzadania do swojej polityki podpisywania i odblokuj pliki skopiowane z innych miejsc.
Uruchom dokładną linię poleceń zadania ręcznie w tym samym kontekście (np. z PsExec jako SYSTEM), aby odtworzyć problem.
Zgłaszanie problemu
Jeśli nic z powyższego nie pomaga:
Zaktualizuj moduł do najnowszej wersji i spróbuj ponownie.
Przeszukaj GitHub issues pod kątem tego samego objawu.
Zbierz diagnostykę:
$PSVersionTable Get-Module DNSServer.DebugLogParser -ListAvailable | Select-Object Name, Version, Path Get-Cultureoraz dokładne polecenie, które wykonałeś, pełny komunikat błędu wraz ze śladem stosu i — jeśli możesz udostępnić — mały zanonimizowany fragment dziennika, który odtwarza problem.
Otwórz nowe zgłoszenie z tymi informacjami.