Parametrit ja valinnat

Mitä kukin Convert-DNSDebugLogFile-komennon valinta oikeasti muuttaa, milloin sitä tarvitset ja mihin sudenkuoppiin on helppo astua.

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

Tällä sivulla selitetään valinnat selkokielellä ja siinä järjestyksessä, jossa niitä yleensä tarvitset. Tämä on opas, ei spesifikaatio — virallinen, aina ajan tasalla oleva parametrilista löytyy komentoviitteestä ja komennolla:

Get-Help Convert-DNSDebugLogFile -Full

Lyhyt versio

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

Tuo yksittäinen rivi antaa jo järkevän toiminnan: sekä data- että tilastotiedostot, puolipiste erotinmerkkinä, koneesi päivämäärämuoto, otsikon tarkistus päällä, lähdeloki koskemattomana. Kaikki alla oleva on hienosäätöä.

ValintaOletusMuuta kun
-InputFile(pakollinen)aina
-OutputFilesyötetiedoston polku .csv-päätteellähaluat tulosteen muualle
-Delimiter;kuluttajasi odottaa pilkkua, tabulaattoria tai putkea
-ComputerNametyhjäyhdistät lokeja useammalta palvelimelta
-OutputTypeBothhaluat vain datan tai vain yhteenvedot
-ContextFilterAllkiinnostaa vain varsinainen DNS-liikenne
-InputCulturenykyinen kulttuuriloki on peräisin palvelimelta, jolla on eri alueasetus
-OutputCulturenykyinen kulttuurikone lukee CSV:n
-NoDetailsParsingpois päältäläpimenolla on väliä enemmän kuin pakettien sisällöllä
-CompressOutputpois päältäarkistoit tai siirrät tulokset
-RemoveSourceFilepois päältäajastettu siivous ja luotat tulokseen
-SkipHeaderValidationpois päältätiedosto on validi mutta otsikko on epätavallinen

Syöte ja tuloste

-InputFile

Polku muunnettavaan lokiin. Ottaa taulukon ja putkisyötteen — siksi tämä toimii:

Get-ChildItem "C:\Administration\Logs\DNSServer\*.log" | Convert-DNSDebugLogFile

Get-ChildItem tuottaa objekteja, joilla on FullName-ominaisuus, ja -InputFile hyväksyy sen ominaisuuden nimellä (alias-nimet ovat mm. FullName, Path, FilePath). Ei tarvita ForEach-Object-komentoa.

Paikalliset polut ja SMB/UNC-polut toimivat molemmat:

Convert-DNSDebugLogFile -InputFile "\\dc01\C$\Administration\Logs\DNSServer\dns.log"

Komento voi myös avata lokin, jonka DNS-palvelin on parhaillaan auki. Katso aktiiviset lokit alta ennen kuin luotat tähän.

-OutputFile

Ilman tätä CSV-tiedosto sijoittuu syötetiedoston viereen, sama perusnimi ja .csv-päätteellä. Tämän kanssa hallitset kohteen.

-Delimiter

Oletuksena puolipiste, koska maissa, joissa pilkku on desimaalierotin, Excel odottaa sitä. Käytä -Delimiter "," työkaluissa ja tietokannoissa, jotka olettavat perinteisen pilkulla erotetun arvon, tai -Delimiter "`t" tabulaattorille.

Minkä tahansa valitsetkin, käytä samaa arvoa tuonnissa. Virheellinen erotin on yleisin syy siihen, että kaikki päätyy yhteen sarakkeeseen.

Merkintä ja suodatus

-ComputerName

Täyttää ComputerName-sarakkeen. Sarake on olemassa joka tapauksessa; tämä vain antaa sille arvon.

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ComputerName $env:COMPUTERNAME

Aseta se aina, kun useampi palvelin syöttää samaan aineistoon — muuten et jälkikäteen tiedä, mistä DC:stä rivi on peräisin.

-OutputType

  • CSV — vain datatiedosto
  • Statistic — vain kaksi yhteenvedotiedostoa, ei rivikohtaista dataa
  • Both — kaikki kolme tiedostoa (oletus)

Statistic on nopea, pieni vaihtoehto, kun tarvitset vain päivittäiset trendit. CSV on oikea, kun jälkikäsittelyjärjestelmä tekee oman yhteenvedon.

-ContextFilter

DNS-debug-loki sekoittaa varsinaisen kyselyliikenteen palvelimen sisäiseen jutteluun. -ContextFilter päättää, mikä päätyy tulosteeseen.

# vain oikea DNS-liikenne
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter Packet

# liikenne plus palvelintapahtumat, mutta ei diagnostiikkamuistiinpanoja
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter Packet, Event
ArvoSisältää
Allkaiken (oletus)
PacketDNS-kyselyt ja vastaukset — data, jota useimmat analyysit tarvitsevat
Eventpalvelintapahtumat, esim. “DNS-palvelin on käynnistynyt”
Notediagnostiikkamuistiinpanot ja varoitukset, esim. socket-virheet

Lisää kontekstityyppejä (DSPoll, Init, Lookup, Recurse, Remote, Tombstone) näkyy All-valinnassa.

Suodatus Event- tai Note-arvoon täyttää vain DateTime, ThreadId, Context ja Information -sarakkeet — protokollasarake jää tyhjäksi, koska näissä merkinnöissä ei ole sitä tietoa.

-ContextFilter Packet on tavallinen valinta turvallisuus- ja raportointiputkissa: se poistaa kohinan ja pienentää tulostetta merkittävästi.

Kansainväliset lokit

DNS-palvelin kirjoittaa aikaleimat koneen Windowsin alueasetuksen mukaan. Saksalainen DC kirjoittaa 20.01.2026 23:00:16; yhdysvaltalainen palvelin 1/20/2026 11:00:16 PM. Jos työaseman alueasetus poikkeaa palvelimesta, jäsentäminen menee pieleen — tai vielä pahempaa, päivä ja kuukausi vaihtuvat hiljaisesti.

-InputCulture

Kerro jäsentäjälle, mitä alueasetusta lähdeloki käyttää:

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns-berlin.log" -InputCulture 'de-DE'
KulttuuriLokin aikaleiman muoto
de-DEPP.KK.VVVV HH:MM:SS
en-USK/P/VVVV H:MM:SS AM/PM
en-GBPP/KK/VVVV HH:MM:SS
sv-SEVVVV-KK-PP HH:MM:SS

Oletuksena on komentoa ajavan istunnon kulttuuri. Sekakulttuurisessa ympäristössä aseta se eksplisiittisesti äläkä luota oletukseen — ja muista, että ajastettu tehtävä, joka pyörii SYSTEM-tilassa, ei välttämättä käytä samaa kulttuuria kuin interaktiivinen testi.

-OutputCulture

Ohjaa, miten aikaleimat kirjoitetaan CSV:hen:

# ISO-tyylinen tuloste, jonka SQL Server, Power BI ja pandas ymmärtävät
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputCulture 'sv-SE'

# sama vaikutus, eksplisiittinen invariantti kulttuuri
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" `
    -OutputCulture ([System.Globalization.CultureInfo]::InvariantCulture)

Nyrkkisääntö: jos ihminen avaa tiedoston Excelissä, käytä paikallista kulttuuria. Jos kone lukee sen, käytä sv-SE tai invarianttia kulttuuria ja älä murehdi alueasetuksista tuonnissa.

Nämä kaksi parametria ovat toisistaan riippumattomia — voit lukea ruotsalaisen lokin ja kirjoittaa yhdysvaltalaismuotoisen tulosteen.

Nopeus ja tallennus

-NoDetailsParsing

Jos DNS-palvelin kirjaa täydelliset pakettitiedot, jäsentäjä muuntaa jokaisen yksityiskohtablokin JSON-muotoon Details-sarakkeessa. Se on hyödyllistä, mutta myös kallein osa suoritusta ja kasvattaa CSV:tä.

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

Sarake pysyy paikallaan mutta on tyhjä; TCP/UDP-yksityiskohtien otsikkorivi on edelleen Information-sarakkeessa. Yksityiskohtia sisältävissä lokeissa tämä voi lyhentää käsittelyaikaa 30–50 %. Käytä aina kun riittää kyselytason tiedot.

-CompressOutput

Pakkaa luodut CSV-tiedostot zip-muotoon ja poistaa purkamattomat tiedostot. dns.log tuottaa dns.zip-tiedoston dns.csv sijaan.

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

Tämän muotoiset CSV:t pakkaantuvat tyypillisesti yli 90 %, joten tämä on lähes ilmaista tallennustilansäästöä arkistoihin ja tiedostojen siirtoon verkon yli.

-RemoveSourceFile

Poistaa lähdetiedoston .log onnistuneen muunnoksen jälkeen — loki poistetaan vain, jos kaikki tulostiedostot luotiin.

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -CompressOutput -RemoveSourceFile

Turvaverkot

-SkipHeaderValidation

Oletuksena komento tarkistaa, että tiedosto on todella DNS-palvelimen debug-loki ennen jäsentämistä. Tämä estää klassisen virheen, jossa työ ajoitetaan väärään kansioon.

Kytke pois päältä vain aidosti epätavallisissa tapauksissa: käsin muokatut lokit, esisuodatetut otteet, mukautetut muodot. Pidä päällä muualla — se on halpa tarkistus ja erottaa kirjoitusvirheen ja roskarivit.

-WhatIf ja -Confirm

Komento tukee molempia. -WhatIf on oikea tapa nähdä, mihin uusi eräajo koskisi:

Get-ChildItem "C:\Administration\Logs\DNSServer\*.log" |
    Convert-DNSDebugLogFile -RemoveSourceFile -WhatIf

-Confirm kysyy vahvistuksen ennen jokaisen tiedoston käsittelyä, lähdetiedoston poistoa ja olemassa olevan tulosteen ylikirjoitusta.

Aktiiviset lokit

Convert-DNSDebugLogFile voi lukea tiedoston, jonka DNS-palvelin on auki. Kätevä satunnaiseen katsaukseen siitä, mitä juuri nyt tapahtuu.

Yhdistämällä kaikki

Tyypillinen tuotantokutsu toimialueen ohjaimella:

Get-ChildItem "C:\Administration\Logs\DNSServer\*.log" |
    Sort-Object LastWriteTime -Descending |
    Select-Object -Skip 1 |
    Convert-DNSDebugLogFile `
        -ComputerName $env:COMPUTERNAME `
        -Delimiter ';' `
        -OutputType Both `
        -ContextFilter Packet `
        -OutputCulture 'sv-SE' `
        -CompressOutput

Tulkinta: ota jokainen kiertoon siirretty loki paitsi aktiivinen, pidä vain DNS-liikenne, merkitse jokainen rivi palvelimen nimellä, kirjoita koneen luettavat aikaleimat ja jätä pakatut arkistot jäljelle. Täydellinen ajastetun tehtävän ja ryhmäkäytännön versio tästä löytyy GPO-ohjatusta keräysesimerkistä.