Version 1.2.1.0 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot.

Convert-DNSDebugLogFile

For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /v1.2.1.0/fi/docs/commands/convert-dnsdebuglogfile/index.md.

YHTEENVETO

Muuttaa Windows DNS Serverin debug-lokit rakenteelliseksi CSV-muodoksi analyysiä ja raportointia varten.

SYNTAKSI

__AllParameterSets

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

ALIAKSET

Tällä cmdletillä on seuraavat alias-nimet,

KUVAUS

Muuttaa Windows DNS Serverin debug-lokitiedostot rakenteelliseksi CSV-dataksi, jota voidaan analysoida Excelissä, Power BI:ssä, SQL-tietokannoissa tai SIEM-työkaluissa. Suunniteltu turvallisuusanalyysiin, suorituskyvyn valvontaan, vianmääritykseen ja vaatimustenmukaisuusraportointiin.

Cmdlet jäsentää DNS-debug-lokit ja kirjoittaa yhdenmukaisen CSV-tulosteen analyysiä varten. CSV-tuloste sisältää 18 saraketta, mukaan lukien Information-sarakkeen tapahtuma-/diagnostiikkatekstille, valinnaisen Details JSON-sarakkeen pakettien yksityiskohtaisille lohkoille sekä aina mukana olevan ComputerName-sarakkeen (tyhjä, ellei määritetty).

TÄRKEIMMÄT OMINAISUUDET:

  • Virtaava käsittely välttää koko tiedoston lataamisen muistiin (sopii erittäin suurille lokeille)
  • Suorituskykyinen jäsentäminen optimoitu suurille tiedostoille (100 Mt+)
  • Muokattava CSV-erotin (oletus: puolipiste)
  • Valinnaiset tilastoyhteenvedot koottujen mittareiden kanssa
  • Kontekstisuodatus (Packet, Event, Note ja muut kontekstit) keskittyäksesi tiettyihin lokimerkintöihin
  • Kulttuuritietoinen päivämäärien jäsentäminen ja muotoilu kansainvälisille palvelimille
  • Putkituen avulla useiden tiedostojen eräkäsittely
  • Valinnainen tulostiedostojen pakkaus (ZIP-muoto)
  • Valinnainen lähdetiedostojen automaattinen poisto käsittelyn jälkeen
  • Otsikkotarkistus tietojen eheyden varmistamiseksi

TULOSTEEN MUOTO: ComputerName-sarake sisältyy aina jokaisen rivin loppuun. Jos -ComputerName-parametriä ei määritetä, sarake on tyhjä. Tämä varmistaa yhdenmukaisen tulosteen rakenteen monipalvelinyhdistelmätapauksissa.

SUORITUSKYKY: Optimoitu käyttämällä StreamReader/StreamWriter 64 kt:n puskureilla, virtaava käsittely muistiystävälliseen suurten tiedostojen käsittelyyn, merkkijonotoiminnot regexin sijaan, manuaalinen CSV:n luonti ja tehokas hajautustaulupohjainen tilastojen keruu.

YHTEENSOPIVUUS:

  • PowerShell 5.1+ (Desktop ja Core-versiot)
  • Windows Server 2016+
  • DNS Server 2012 R2 - 2025 lokimuodot

ESIMERKIT

ESIMERKKI 1

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

Muuttaa DNS-debug-lokin oletusasetuksilla (sekä data- että tilastotiedostot puolipiste-erottimella).
Tulosteet:

  • C:\Logs\dns.csv
  • C:\Logs\dns_Statistic.csv
  • C:\Logs\dns_PacketStatistic.csv

ESIMERKKI 2

PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputType CSV

Luo vain datatiedoston ilman tilastoja.
Tuloste: C:\Logs\dns.csv

ESIMERKKI 3

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

Luo vain tilastotiedostot koottujen mittareiden kanssa.
Tulosteet:

  • C:\Logs\dns_Statistic.csv
  • C:\Logs\dns_PacketStatistic.csv

ESIMERKKI 4

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

Muuttaa lokin mukautettuun tulostussijaintiin.
Tuloste: C:\Output\parsed.csv

ESIMERKKI 5

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

Muuttaa pilkulla erotetuksi ja lisää ComputerName-sarakkeen arvolla “DNS01”.
Tulosteet:

  • C:\Logs\dns.csv
  • C:\Logs\dns_Statistic.csv
  • C:\Logs\dns_PacketStatistic.csv

ESIMERKKI 6

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

Eräkäsittelee useita DNS-debug-lokitiedostoja putken kautta.
Tuloste: Jokaiselle .log-tiedostolle luodaan .csv ja _statistic.csv -tiedostot

ESIMERKKI 7

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

Muuttaa ja pakkaa tulosteen ZIP-arkistoksi.
Tuloste: C:\Logs\dns.zip (sisältää dns.csv + tilastotiedostot)

ESIMERKKI 8

PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -RemoveSourceFile -Verbose

Muuttaa lokin ja poistaa lähdetiedoston onnistuneen käsittelyn jälkeen.
Yksityiskohtainen tuloste vahvistaa tiedoston poiston.

ESIMERKKI 9

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

Jäsentää saksalaisen päivämäärämuodon (PP.KK.VVVV) ja tuottaa US-muodossa (KK/PP/VVVV).
Käytä, kun käsittelet lokeja eri alueasetuksilla olevilta palvelimilta.

ESIMERKKI 10

PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter 'Packet'

Muuttaa vain DNS-kysely-/vastauspakettien merkinnät, poissulkee EVENT- ja Note-merkinnät.
Käytä keskittyäksesi varsinaiseen DNS-liikenteeseen.

ESIMERKKI 11

PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter 'Packet','Event'

Muuttaa sekä DNS-paketit että palvelintapahtumat, poissulkee Note ja muut merkinnät.
Käytä analysoidaksesi DNS-liikennettä ja palvelintapahtumia yhdessä.

ESIMERKKI 12

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

Automaattinen lokien arkistointi: käsittelee kaikki lokit, pakkaa tulosteen ja poistaa lähdetiedostot.
Ihanteellinen ajoitettuihin lokiputkiin.

ESIMERKKI 13

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

Käsittelee suuren lokitiedoston ilman yksityiskohtien jäsentämistä maksimaalisen suorituskyvyn saavuttamiseksi.
PACKET-yksityiskohtalohkot ohitetaan, Details-sarake jää tyhjäksi.
Käytä, kun käsittelet erittäin suuria tiedostoja etkä tarvitse yksityiskohtaista pakettirakenteen analyysiä.

PARAMETRIT

-CompressOutput

Pakkaa tulostetut CSV-tiedostot ZIP-arkistoksi luomisen jälkeen.

Luo .zip-tiedoston, joka sisältää luodut CSV-tiedostot, ja poistaa alkuperäiset purkamattomat CSV:t.
ZIP-tiedosto luodaan samaan hakemistoon kuin tulostettu CSV ja sillä on sama perusnimi.

Hyödyt:

  • Vähentää merkittävästi levytilan käyttöä (CSV-tiedostot pakkaantuvat yleensä yli 90 %)
  • Yksinkertaistaa tiedostojen hallintaa ja arkistointia
  • Sopii pitkäaikaiseen säilytykseen

Esimerkki: Syöte ‘dns.log’ tuottaa ‘dns.csv’, joka pakataan ‘dns.zip’:ksi ja ‘dns.csv’ poistetaan.

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

Määrittää arvon ComputerName-sarakkeelle CSV-tulosteessa.
ComputerName-sarake on aina mukana tulosteessa – jos tätä parametria ei määritetä, sarake on tyhjä.

Käytä tätä, kun yhdistät lokeja useilta DNS-palvelimilta lähdepalvelimen tunnistamiseksi yhdistetyissä aineistoissa.

Huom: Tämä EI ole etäkäyttöparametri.
Se vain merkitsee tulosteen.
Jos -InputFile osoittaa UNC-polkuun, tiedosto luetaan suoraan siitä polusta (ei suoriteta WinRM-etäkäskyä).

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

Kysyy vahvistuksen ennen cmdletin suorittamista.

Kun määritetty, kysyy vahvistuksen ennen:

  • Jokaisen DNS-debug-lokitiedoston käsittelyä
  • Lähdetiedostojen poistamista (kun -RemoveSourceFile on määritetty)
  • Olemassa olevien tulostiedostojen ylikirjoittamista

Hyödyllinen vuorovaikutteisessa käsittelyssä, kun haluat hallita, mitkä tiedostot käsitellään.

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

-ContextFilter

Suodattaa, mitkä lokimerkintätyypit sisällytetään tulosteeseen.
Hyväksyy yhden tai useamman arvon.

DNS-debug-lokit sisältävät eri kontekstit:

  • PACKET: DNS-kysely- ja vastauspakettitiedot (ensisijainen data)
  • EVENT: DNS-palvelintapahtumat (esim. “DNS-palvelin on käynnistynyt.”)
  • Note: Diagnostiikkamuistiinpanot ja varoitukset (esim. socket-virheet, sisäiset tilat)
  • DSPoll, Init, Lookup, Recurse, Remote, Tombstone: Lisäkontekstit

Kelvolliset arvot:

  • ‘All’: Sisällytä kaikki kontekstit (oletus)
  • ‘Packet’: Sisällytä vain PACKET-merkinnät (DNS-kyselyt/vastaukset)
  • ‘Event’: Sisällytä vain EVENT-merkinnät (palvelintapahtumat)
  • ‘Note’: Sisällytä vain Note-merkinnät (diagnostiikkatiedot)
  • Mikä tahansa yhdistelmä: Määritä useita arvoja sisällyttääksesi tietyt kontekstit

Oletus: All

Esimerkkejä:

  • ‘Packet’ suodattaa vain DNS-liikenteen
  • ‘Packet’,‘Event’ sisältää sekä DNS-liikenteen että palvelintapahtumat
  • ‘Note’,‘Event’ sisältää diagnostiikkamuistiinpanot ja palvelintapahtumat

Huom: Kun suodatetaan ‘Event’ tai ‘Note’, vain DateTime, ThreadId, Context ja Information -sarakkeet sisältävät dataa. Muut sarakkeet (Protocol, ClientIP jne.) ovat tyhjiä.

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

-Delimiter

Määrittää CSV-tulosteen erotinmerkin.

Oletus: puolipiste (;)

Yleisiä vaihtoehtoja: pilkku (,), sarkain (`t), putki (|)

Käytä puolipistettä alueilla, joissa pilkku on desimaalierotin (Eurooppa).
Käytä pilkkua standardeissa CSV-työkaluissa ja tietokannoissa, jotka odottavat pilkulla erotettuja arvoja.

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

-InputCulture

Määrittää kulttuurin/alueen, jota käytetään päivämäärä- ja aikamuotojen jäsentämiseen DNS-debug-lokissa.

DNS Serverin debug-lokit käyttävät päivämäärämuotoa Windowsin alueasetuksen mukaan palvelimella, jolla loki on luotu.
Käytä tätä parametria, kun käsittelet lokeja eri alueasetuksilla olevilta palvelimilta.

Oletus: Nykyinen kulttuuri

Yleisiä esimerkkejä:

  • ‘de-DE’ tai ‘de-AT’: saksalainen muoto (PP.KK.VVVV tai PP/KK/VVVV)
  • ’en-US’: US-muoto (KK/PP/VVVV AM/PM)
  • ’en-GB’: UK-muoto (PP/KK/VVVV 24h)
  • ‘sv-SE’: ruotsalainen/ISO-muoto (VVVV-KK-PP)
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: ''

-InputFile

Määrittää polun DNS-debug-lokitiedostoon, joka jäsennetään.
Tukee taulukoita useiden tiedostojen käsittelyyn.

Hyväksyy putkisyötteen Get-ChildItemiltä tai muilta tiedostoja tuottavilta cmdleteiltä.

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: ''

-NoDetailsParsing

Ohittaa PACKET-yksityiskohtalohkojen jäsentämisen rakenteelliseksi JSON-muodoksi.

Kun määritetty, PACKET-tietueissa, joissa on yksityiskohtalohkoja, TCP/UDP-tietorivi näkyy Information-sarakkeessa, mutta Details-sarake jää tyhjäksi.
Tämä parantaa merkittävästi suorituskykyä suurten lokitiedostojen käsittelyssä, kun yksityiskohtainen pakettirakenteen analyysi ei ole tarpeen.

Käytä tätä, kun:

  • Käsittelet erittäin suuria lokitiedostoja (100 Mt+) ja tarvitset vain peruskyselytiedot
  • Yksityiskohtainen rakenne (viestilippuja, DNS-osioita) ei ole tarpeen analyysissä
  • Haluat maksimoida jäsentämisnopeuden datan täydellisyyden sijaan

Suorituskykyvaikutus: voi parantaa käsittelynopeutta 30-50 % lokeissa, joissa on paljon PACKET-yksityiskohtalohkoja.

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

-OutputCulture

Määrittää kulttuurin/alueen, jota käytetään päivämäärä- ja aikamuotojen muotoiluun tulostettavissa CSV-tiedostoissa.

Ohjaa, miten DateTime-arvot kirjoitetaan CSV:hen.
Käytä tätä, kun CSV-tiedostoja käyttää sovellukset tai järjestelmät, joilla on tietyt alueasetukset.

Oletus: Nykyinen kulttuuri

Yleisiä esimerkkejä:

  • ’en-US’: US-muoto (KK/PP/VVVV)
  • ‘de-DE’: saksalainen muoto (PP.KK.VVVV)
  • ‘sv-SE’ tai InvariantCulture: ISO-muoto (VVVV-KK-PP) maksimaaliseen yhteensopivuuteen
Type: CultureInfo
DefaultValue: '[System.Globalization.CultureInfo]::CurrentCulture'
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 7
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputFile

Määrittää polun tulostettavalle CSV-tiedostolle.
Jos ei määritetä, käytetään syötetiedoston nimeä .csv-päätteellä samassa hakemistossa kuin syötteellä.

Tärkeää: Täytyy olla tiedostopolku, ei hakemisto.
Jos haluat käyttää syötetiedoston hakemistoa ja mukautettua nimeä, määritä koko polku tiedostonimen kanssa.

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

Määrittää tuotettavan tulosteen tyypin.

Kelvolliset arvot:

  • ‘CSV’: Luo vain datatiedoston kaikilla jäsennetyillä lokimerkinnöillä
  • ‘Statistic’: Luo vain tilastotiedostot koottujen mittareiden kanssa
  • ‘Both’: Luo sekä data- että tilastotiedostot (oletus)

Oletus: Both

Kun tilastot luodaan, syntyy kaksi erillistä tiedostoa:

  • ‘_Statistic.csv’: Yhteenvedot kontekstityypeittäin päivittäin (Päivämäärä, Konteksti, Määrä, ComputerName)
  • ‘_PacketStatistic.csv’: Yksityiskohtaiset PACKET-määrät päivittäin asiakas-IP:n, protokollan, suunnan ja kyselytyypin mukaan (Päivämäärä, ClientIP, Protokolla, Suunta, Kyselytyyppi, Määrä, ComputerName)
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

Poistaa lähde-DNS-debug-lokitiedoston onnistuneen käsittelyn jälkeen.

Käytä tätä automatisoiduissa lokiputkissa tai levytilan hallinnassa.
Lähdetiedosto poistetaan vain, jos käsittely onnistuu ja kaikki tulostiedostot luodaan.

Turvallisuus: Ei voi käyttää yhdessä -SkipHeaderValidation-parametrin kanssa estämään virheellisten tiedostojen vahingossa tapahtuvaa poistoa.

Varoitus: Lähdetiedostot poistetaan pysyvästi.
Varmista, että tulostiedostot ovat kelvollisia ennen tämän vaihtoehdon käyttöä.

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

Ohittaa DNS-debug-lokin otsikkotarkistuksen.

Oletuksena cmdlet tarkistaa, että syötetiedostossa on kelvollinen DNS Server debug -lokin otsikko.
Käytä tätä kytkintä käsitelläksesi tiedostoja ilman tarkistusta, mikä voi olla hyödyllistä:

  • Muokatuissa tai mukautetuissa lokimuodoissa
  • Vianmäärityksessä otsikkotarkistuksen ongelmissa
  • Ei-standardeissa tai esikäsitellyissä lokeissa

Varoitus: Voi aiheuttaa käsittelyvirheitä, jos tiedosto ei ole kelvollinen DNS-loki.

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

Näyttää, mitä tapahtuisi, jos cmdlet suoritettaisiin.
Cmdletiä ei suoriteta.

Kun määritetty, näyttää yksityiskohtaiset tiedot toiminnoista, jotka suoritettaisiin ilman, että niitä oikeasti suoritetaan.
Hyödyllinen:

  • Ennakoimaan, mitkä tiedostot käsiteltäisiin
  • Varmistamaan tulostiedostopolut ennen käsittelyä
  • Testaamaan skriptejä ennen tuotantokäyttöä
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

Tämä cmdlet tukee yleisiä parametreja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ja -WarningVariable. Lisätietoja: about_CommonParameters.

SYÖTTEET

System.String[]

HUOMAUTUKSET

Versio : 1.7.1.1
Tekijä : Andi Bellstedt, Copilot
Päivämäärä : 2026-01-26
Avainsanat : Microsoft Windows Server, DNSServer, DNS, DebugLog, LogParser

LIITTYVÄT LINKIT