Vianmääritys

Oireet, joihin todennäköisesti törmäät muuntaessasi DNS-vianmäärityslokeja, niiden syyt ja korjaukset.

For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /fi/docs/08-troubleshooting/index.md.

“Tiedosto ei ole kelvollinen DNS-vianmäärityslokitiedosto”

Otsikkotarkistus hylkäsi syötteen. Yleensä polku on yksinkertaisesti väärä — samaan kansioon tallennettu .log-tiedosto, joka ei ole DNS-vianmääritysloki, tai tiedosto, joka sisältää vain kierrätetyn otsikon.

Tarkista seuraavat asiat:

  1. Avaa tiedosto. DNS-vianmääritysloki alkaa otsikkorivillä, kuten Message logging started at …, ja jatkuu aikaleimatuilla kyselymerkinnöillä.

  2. Varmista, että DNS-vianmäärityslokin kirjaus on todella käytössä ja kirjoittaa odottamaasi polkuun:

    Get-DnsServerDiagnostics | Select-Object Enable, LogFilePath, MaxMBFileSize
    
  3. Jos tiedosto on aidosti DNS-loki, mutta otsikko on epätavallinen — käsin muokattu, esisuodatettu, mukautettu vienti — ohita tarkistus:

    Convert-DNSDebugLogFile -InputFile "C:\Logs\odd.log" -SkipHeaderValidation
    

Pidä tarkistus päällä muualla. Huomaa, että -SkipHeaderValidation ei voi yhdistää -RemoveSourceFile-parametrin kanssa, joten vahvistamatonta tiedostoa ei voi koskaan poistaa muunnoksen yhteydessä.

Tulostiedosto on tyhjä tai siinä on paljon vähemmän rivejä kuin odotettu

Tarkista tässä järjestyksessä:

  • Sisältääkö loki lainkaan kyselymerkintöjä? Vasta kierrätetty loki voi sisältää vain otsikon, jos kyselyjä ei ole vielä tapahtunut.
  • Onko käytössä -ContextFilter? -ContextFilter Packet poistaa Event- ja Note-merkinnät tarkoituksella. Jos suodatit Event- tai Note-tyyppiin, useimmat sarakkeet ovat myös tyhjiä — nämä merkintätyypit sisältävät vain DateTime, ThreadId, Context ja Information.
  • Oliko lähdeloki aktiivinen? Tiedostoa, johon DNS-palvelin yhä kirjoittaa, voi muuttua muunnoksen aikana; uusimmat merkinnät voivat puuttua ja viimeinen rivi voi olla katkennut. Muunna kierrätetty, suljettu loki, kun tarvitset täydellisen tuloksen.
  • Onko tiedosto vioittunut tai katkennut? Tarkista lokin loppu puoliksi kirjoitetun rivin varalta.

Päivät ovat väärin, siirtyneet tai päivä ja kuukausi ovat vaihtaneet paikkaa

Loki on kirjoitettu palvelimella, jonka Windowsin alueasetus poikkeaa muunnoksen suorittavan istunnon asetuksesta. 20.01.2026 ja 01/20/2026 kuvaavat samaa hetkeä, mutta vain jos molemmat osapuolet ovat samaa formaattia.

# loki tuli saksalaiselta palvelimelta
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns-berlin.log" -InputCulture 'de-DE'

Aseta -InputCulture selkeästi ajoitettuihin tehtäviin sen sijaan, että luottaisit tehtävän suorittavan käyttäjätilin alueasetukseen. Jos tulos halutaan koneen luettavaksi, lisää -OutputCulture 'sv-SE'. Lisätietoja Parametrit ja asetukset.

Kaikki päätyy yhteen sarakkeeseen tuonnin jälkeen

Erotinmerkki ei täsmää. Moduuli kirjoittaa oletuksena ;; kuluttajasi odotti , (tai päinvastoin).

Suorita muunnos uudelleen kuluttajan haluamalla erotinmerkillä:

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -Delimiter ","

…tai kerro tuojalle, mikä erotinmerkki tiedostossa on — Excelissä valitse Data → From Text/CSV, PowerShellissä käytä Import-Csv -Delimiter ';'.

“Access denied” (Pääsy evätty)

  • DNS-lokin kansio vaatii tyypillisesti järjestelmänvalvojan oikeudet. Käynnistä PowerShell korotettuna tai suorita ajoitettu tehtävä tilillä, jolla on pääsy.
  • Tarkista myös kirjoitusoikeudet tuloskansioon, ei pelkästään lukuoikeudet lokiin.
  • SMB/UNC-polkujen kohdalla: SYSTEM-tilillä ajettava tehtävä todentaa verkossa tietokoneen tilinä. Myönnä jaetun kansion ja NTFS-oikeudet kyseiselle tietokoneen tilille (tai Domain Controllers -ryhmälle) tai käytä omaa palvelutiliä.
  • Jos -RemoveSourceFile epäonnistuu muuten onnistuneen ajon lopussa, tilillä on lukuoikeus lokiin, mutta ei poisto-oikeutta.

Käsittely on hyvin hidasta

  1. Tarkista ensin levy — muunnos on I/O-sidonnainen. Kuormittunut levy tai hidas verkkopolku hallitsee suoritusaikaa.
  2. Käytä -NoDetailsParsing, jos et tarvitse pakettitason JSON-tietoja; yksityiskohtaisissa lokeissa tämä säästää 30–50 %.
  3. Käytä -ContextFilter Packet kirjoittamaan vähemmän.
  4. Pilko valtavat lokit DNS-palvelimen lokin kierrätyksellä sen sijaan, että muunnat yhtä jättimäistä tiedostoa.
  5. Harkitse virustorjunnan poissulkemista lokihakemistosta.

Lisää tietoa Suorituskyky.

Pakattu tulos on odotettua suurempi

Erittäin monipuolista sisältöä sisältävät lokit — paljon uniikkeja domaineja, monia eri asiakkaita — pakautuvat huonommin kuin toistuvat. Tämä on normaalia. ZIP saavuttaa yleensä merkittävän koon pienennyksen; jos ei, tarkista, paisuttaako Details-sarake tiedostoa ja tarvitsetko sitä lainkaan.

Tilastot eivät vastaa odotuksiani

  • Varmista, että käytit -OutputType Both tai -OutputType Statistic. -OutputType CSV ei kirjoita lainkaan tilastotiedostoja.
  • Count on kokonaismäärä, ei erillisten lukumäärä. Yksi asiakas, joka kysyy samaa nimeä 500 kertaa, lisää lukemaan 500. Tämä on yleisin syy “tuo luku ei voi olla oikea” -ongelmaan.
  • Tilastot ryhmitellään päivittäin. Kaksi päivää kattava loki tuottaa rivejä molemmille päiville.
  • Jos ComputerName on tyhjä tilastotiedostoissa, -ComputerName ei ollut asetettuna muunnoksen aikana.

Ajoitettu tehtävä toimii vuorovaikutteisesti mutta ei tehtävänä

Useimmiten kyseessä on jokin kolmesta:

  • Moduulia ei löydy. SYSTEM-tili ilman profiilia näkee vain konekohtaiset moduulipolut. Asenna moduuli konekohtaisesti tai lisää tehtävän toimintaan selkeä Import-Module DNSServer.DebugLogParser.
  • Väärä alueasetus. Tehtävän tilin alueasetus poikkeaa omastasi. Aseta -InputCulture ja -OutputCulture selkeästi.
  • Suorituspolitiikka tai allekirjoittamaton skripti. Vastaa tehtävän -ExecutionPolicy allekirjoituspolitiikkaasi ja poista estot muualta kopioiduilta tiedostoilta.

Suorita tehtävän tarkka komentorivi manuaalisesti samassa kontekstissa (esim. PsExecillä SYSTEM-tilillä) toistaaksesi ongelman.

Ongelman raportointi

Jos mikään ylläoleva ei auta:

  1. Päivitä moduuli uusimpaan versioon ja kokeile uudelleen.

  2. Etsi samaa oiretta GitHub-ongelmilistalta.

  3. Kerää diagnostiikka:

    $PSVersionTable
    Get-Module DNSServer.DebugLogParser -ListAvailable | Select-Object Name, Version, Path
    Get-Culture
    

    sekä tarkka käyttämäsi komento, koko virheilmoitus pinon jäljityksineen ja — jos voit jakaa — pieni anonymisoitu ote lokista, joka toistaa ongelman.

  4. Avaa uusi ongelma näillä tiedoilla.