Tämä on monen sivun tulostettava näkymä osiosta Paina tulostaaksesi.

Palaa tavalliseen näkymään.

Moduulikomentojen viite

Täältä löydät viitteen moduulin kaikista komennoista. Tämä viite on suunniteltu auttamaan sinua löytämään nopeasti tarvitsemasi komento ja ymmärtämään, miten sitä käytetään tehokkaasti.

Klikkaamalla komentoa siirryt yksityiskohtaiselle sivulle, joka tarjoaa kattavat tiedot komennosta, mukaan lukien sen syntaksi, parametrit, esimerkit sekä mahdolliset lisähuomiot tai vinkit käytöstä.

1 - Convert-DNSDebugLogFile

YHTEENVETO

Muuttaa Windows DNS Serverin debug-lokit jäsenneltyyn CSV-muotoon analysointia 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 aliakset,

KUVAUS

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

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

TÄRKEIMMÄT OMINAISUUDET:

  • Suorituskykyinen jäsentäminen suurille tiedostoille (100 Mt+)
  • Muokattava CSV-erotin (oletus: puolipiste)
  • Valinnaiset tilastoyhteenvetotiedot koottujen mittareiden kanssa
  • Kontekstisuodatus (Packet, Event, Note ja muut kontekstit) keskittymiseen tiettyihin lokimerkintätyyppeihin
  • Kulttuuritietoinen päivämäärien jäsentäminen ja muotoilu kansainvälisille palvelimille
  • Putkituet useiden tiedostojen eräkäsittelyyn
  • Valinnainen tulostiedostojen pakkaus (ZIP-muoto)
  • Valinnainen lähdetiedostojen automaattinen poisto käsittelyn jälkeen
  • Otsikkotarkistus tietojen eheyttä varten

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

SUORITUSKYKY: Optimoitu käyttämällä StreamReader/StreamWriter 64 kt:n puskureilla, merkkijonotoiminnoilla regexin sijaan, manuaalisella CSV-generoinnilla ja tehokkaalla hajautustaulupohjaisella tilastojen keruulla.

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). Tuloste:

  • 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

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

ESIMERKKI 3

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

Tuottaa vain tilastotiedostot koottujen mittareiden kanssa. Tuloste:

  • 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”. Tuloste:

  • 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

Käsittelee useita DNS-debug-lokitiedostoja putken kautta erissä. 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-arkistoon. Tuloste: C:\Logs\dns.zip (sisältäen 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. Verbose-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-muodon (KK/PP/VVVV). Käytä, kun käsittelet lokitiedostoja eri alueellisten asetusten palvelimilta.

ESIMERKKI 10

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

Muuttaa vain DNS-kysely/vastauspakettimerkinnät, poissulkien 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, poissulkien 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 luodut CSV-tiedostot ZIP-arkistoksi luomisen jälkeen.

Luo .zip-tiedoston, joka sisältää luodut CSV-tiedostot, ja poistaa purkamatta jäävät CSV:t. ZIP-tiedosto luodaan samaan hakemistoon ja samalla perusnimellä kuin tulostettava CSV.

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’ 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 jää tyhjäksi.

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

Huom: Tämä EI ole etäkäyttöparametri. Cmdlet käsittelee vain paikallisia tiedostoja.

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, pyytää 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 (päätiedot)
  • EVENT: DNS-palvelimen tapahtumat (esim. “DNS-palvelin on käynnistynyt.”)
  • Note: Diagnostiikkamuistiinpanot ja varoitukset (esim. soketti-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 tietoa. Muut sarakkeet (Protocol, ClientIP jne.) jäävät tyhjiksi.

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 pilkuilla 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 aika-arvojen jäsentämiseen DNS-debug-lokissa.

DNS Serverin debug-lokit käyttävät päivämäärämuotoa palvelimen Windows-alueen asetusten mukaan, jossa loki on luotu. Käytä tätä parametria, kun käsittelet lokitiedostoja eri alueellisten asetusten 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 jäsennettävään DNS-debug-lokitiedostoon. Tukee taulukoita useiden tiedostojen käsittelyyn.

Hyväksyy putkisyötteen Get-ChildItem-komennosta tai muista tiedostoja tuottavista cmdleteistä.

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 jäsenneltyyn JSON-muotoon.

Kun määritetty, PACKET-tietueet, joissa on yksityiskohtalohkoja, sisältävät TCP/UDP-tietorivin Information-sarakkeessa, mutta Details-sarake jää tyhjäksi. Tämä parantaa merkittävästi suorituskykyä suuria lokitiedostoja käsiteltäessä, 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 analyysissa
  • Suorituskyvyn maksimointi on tärkeämpää kuin täydellisyys

Suorituskykyvaikutus: voi parantaa käsittelynopeutta 30-50 % lokitiedostoissa, 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 aika-arvojen muotoiluun tulostettavissa CSV-tiedostoissa.

Ohjaa, miten DateTime-arvot kirjoitetaan CSV:hen. Käytä tätä, kun CSV-tiedostoja kulutetaan sovelluksissa tai järjestelmissä, joilla on tietyt alueelliset asetukset.

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öte.

Tärkeää: Tämä on 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’: Tuottaa vain datatiedoston kaikilla jäsennetyillä lokimerkinnöillä
  • ‘Statistic’: Tuottaa vain tilastotiedostot koottujen mittareiden kanssa
  • ‘Both’: Tuottaa sekä data- että tilastotiedostot (oletus)

Oletus: Both

Kun tilastoja tuotetaan, luodaan kaksi erillistä tiedostoa:

  • ‘_Statistic.csv’: Yhteenvedot kontekstityypeittäin päivittäin (Date, Context, Count, ComputerName)
  • ‘_PacketStatistic.csv’: Yksityiskohtaiset PACKET-laskelmat päivittäin asiakas-IP:n, protokollan, suunnan ja kyselytyypin mukaan (Date, ClientIP, Protocol, Direction, QuestionType, Count, 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ä automaattisissa 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 vahingossa tapahtuvan virheellisten tiedostojen poistamisen estämiseksi.

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 varmistaa, että syötetiedostoissa 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 ongelmien kanssa
  • 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:

  • Ennakkotarkastukseen, mitkä tiedostot käsiteltäisiin
  • Tulostiedostopolkujen tarkistukseen ennen käsittelyä
  • Skriptien testaamiseen 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 on kohdassa about_CommonParameters.

SYÖTTEET

System.String[]

HUOMAUTUKSET

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

LIITTYVÄT LINKIT