Version 1.2.0.0 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot.
Käytännön käyttö Domain-ympäristössä (GPO-ohjattu keräys ja muunnos)
For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /v1.2.0.0/fi/docs/examples/gpo-driven-collection/index.md.
Tässä dokumentissa esitellään käytännön, kokonaisvaltainen esimerkki DNSServer.DebugLogParserin suorittamisesta Active Directory -toimialueympäristössä, keskittyen Windows DNS Serverin debug-lokien muuntamiseen toimialueen ohjaimilla.
Tämän esimerkin mukana tulee ZIP-arkisto, joka sisältää politiikan artefaktit työnkulun toteuttamiseksi.
Merkittävimmät artefaktit ovat varmuuskopion manifesti, GPO-raportti, Files.xml, Set-DNSServerDebugLogging.ps1 ja ScheduledTasks.xml.
Tilannekuvaus
- Useat toimialueen ohjaimet (DC:t) isännöivät DNS Server -roolia.
- DNS-debug-lokitus on otettu käyttöön ja konfiguroitu johdonmukaisesti jokaisella DC:llä ajastetun tehtävän avulla (lokitiedostot tallennetaan polkuun
C:\Administration\Logs\DNSServer). - Keskitetysti hallittu prosessi muuntaa lokit CSV-muotoon seuraaviin käyttötarkoituksiin:
- tietoturva-analytiikka
- operatiivinen raportointi
- vianmääritys
- vaatimustenmukaisuus ja säilytys
Tavoitellut tulokset
- Johdonmukaiset muunnosasetukset kaikilla DC:illä
- Ennustettava tulostiedostojen sijainti ja nimeäminen
- Valinnainen pakkaus tallennustilan säästämiseksi
- Valinnaiset tilastotulosteet nopeisiin päivittäisiin yhteenvedonäkymiin
- Minimissään isäntäkoneen riski, selkeät uudelleensuoritus- ja siivouskäytännöt
Ehdotettu arkkitehtuuri
Keräysmalli: paikallinen muunnos + keskitetty haku
- Jokainen DC kirjoittaa DNS-debug-lokit levyelle rollover-ominaisuus päällä.
- Jokainen DC muuntaa kiertävät
*.log-tiedostot data-CSV:ksi ja tilastojen CSV:ksi, minkä jälkeen pakkaa tulokset*.zip-muotoon ajastetusti (Task Scheduler). - Tulosteet kirjoitetaan samalle kansiolle lokien viereen, jotta putki pysyy yksinkertaisena.
- Keskitetty palvelin kerää
*.zip-tulosteet esimerkiksi tiedostojakojen kautta, ajastetulla kopioinnilla, SIEM-välityksellä tai agenttipohjaisella kerääjällä.
Tämä malli minimoi suurten raakalukujen lukemisen verkon yli ja pitää jäsentämisen lähellä dataa.
GPO-työnkulku
Työnkulku toteutetaan Group Policyllä (tietokoneen konfiguraatio) varmistaakseen johdonmukaiset asetukset kaikilla toimialueen ohjaimilla.
Tämän repositorion mukana tuleva viiteimplementaatio (GPO-raportti):
- Arkisto/raportin nimi:
T0-C-Analytics-DNSDebugLogging - Varmuuskopion tunniste:
{2B6F16BC-0E7C-4787-83D7-2854FED882EE} - GPO-linkin kohde:
corp.company.com/Domain Controllers - Kohdesuodatin (käytetään sekä tiedostojen jakeluun että ajastettuihin tehtäviin): soveltuu vain, jos
C:\Windows\System32\dns.exeon olemassa
1) Esivaatimukset (kansiot + moduuli)
Toimitettu varmuuskopio olettaa, että seuraavat kansiot ovat jo olemassa. Lisää erilliset GPP-kohteet, jos haluat, että käyttöönotto luo ne automaattisesti:
C:\Administration\ScriptsC:\Administration\Logs\DNSServer
Varmuuskopio olettaa myös, että Convert-DNSDebugLogFile on jo saatavilla DC:illä. Muunnostehtävä käynnistää Windows PowerShell 5.1:n -NoProfile-asetuksella eikä tuo moduulia eksplisiittisesti, joten moduulin on oltava asennettuna konekohtaisessa Windows PowerShell -moduulipolussa, joka on näkyvissä LocalSystem-tilille. Suositellut tavat:
- Asenna DNSServer.DebugLogParser DC:ille, esimerkiksi PowerShell Gallerystä (jos politiikka sallii).
- Ota moduuli käyttöön sisäisen repositorion tai tiedostojakopalvelun kautta, jotta se löytyy
$env:PSModulePath-polusta. - Lisää eksplisiittinen
Import-Moduletehtävän toimintaan, jos haluat varman latauskäytöksen.
2) Debug-lokituksen konfigurointiskriptin käyttöönotto (GPP Files)
GPO ottaa käyttöön skriptin:
- Lähde (SYSVOLin kautta GPP):
%GptPath%\Preferences\Files\Set-DNSServerDebugLogging.ps1 - Kohde (jokaisella DC:llä):
C:\Administration\Scripts\Set-DNSServerDebugLogging.ps1
Tämä on toteutettu GPP Files -asetuskohteena Files.xml-tiedostossa.
3) Ajastettu tehtävä: DNS-debug-lokituksen konfigurointi
GPO luo ajastetun tehtävän nimeltä Set-DNSServerDebugLogging.
- Käyttöoikeus kontekstissa toimitetussa varmuuskopiossa:
SYSTEMkirjautumistyyppiS4U - Laukaisin toimitetussa varmuuskopiossa: päivittäin (aloitusraja
2025-03-01T00:00:01) - Toiminto ScheduledTasks.xml-tiedostossa:
powershell.exe -ExecutionPolicy RemoteSigned -command " & { C:\Administration\Scripts\Set-DNSServerDebugLogging.ps1 }"- Työhakemisto:
C:\Administration\Scripts
Linkitetty Set-DNSServerDebugLogging.ps1-skripti konfiguroi DNS-debug-lokituksen Get-DnsServerDiagnostics / Set-DnsServerDiagnostics -komentojen avulla ja erityisesti:
- Ottaa käyttöön tiedostoon lokituksen + rolloverin
- Kirjoittaa tiedostoon:
C:\Administration\Logs\DNSServer\DnsDebugLog_<COMPUTERNAME>.<Domain>_.log - Käyttää 10 Mt:n rollover-kokoa per tiedosto
- Tallentaa pääasiassa kyselyihin liittyvää toimintaa (kyselyt + ilmoitukset + päivitykset + kyselytapahtumat) ja sulkee pois koko pakettien lokituksen
4) Ajastettu tehtävä: kiertävien debug-lokien muuntaminen pakatuiksi CSV-tiedostoiksi
GPO luo ajastetun tehtävän nimeltä Convert-DNSDebugLogs.
- Käyttöoikeus kontekstissa toimitetussa varmuuskopiossa:
SYSTEMkirjautumistyyppiInteractiveToken - Laukaisin toimitetussa varmuuskopiossa: päivittäin (aloitusraja
2026-01-01T00:30:00) - Työhakemisto:
C:\Administration\Logs\DNSServer - Toiminto ScheduledTasks.xml-tiedostossa (muotoiltu luettavuuden vuoksi):
Get-ChildItem .\*.log |
Sort-Object lastwritetime, Name -Descending |
Select-Object -Skip 1 |
Convert-DNSDebugLogFile `
-ComputerName $env:COMPUTERNAME `
-Delimiter ';' `
-OutputType Both `
-ContextFilter Packet `
-OutputCulture sv-SE `
-CompressOutput
Suunnittelumuistiinpanot:
Select-Object -Skip 1jättää tarkoituksella käsittelemättä uusimman (aktiivisen) lokitiedoston.- Tämä tarkoittaa, että nykyiset tiedot viedään vain rolloverin jälkeen; matalan volyymin DC:illä aktiivinen loki voi jäädä käsittelemättä yli päivän.
- Koska Convert-DNSDebugLogFile oletuksena asettaa
-OutputFilearvoksi ”sama kansio, sama nimi,.csv”, tulosteet sijoittuvat*.log-tiedostojen viereen. -CompressOutput-asetuksella jokainen käsitelty loki tuottaa*.zip-tiedoston ja väliaikaiset CSV:t poistetaan.- Ellet arkistoi tai poista käsiteltyjä
*.log-tiedostoja, myöhemmät ajot käsittelevät kaikki ei-aktiiviset lokit uudelleen. - Tehtävä heittää virheen, jos
$Error.Count -gt 0, merkiksi epäonnistuneesta suorituksesta.
5) Keskitetty keräys
Vaihtoehdot (valitse yksi):
- Tiedostojakojen keräys: DC kirjoittaa (tai kopioi)
C:\Administration\Logs\DNSServer\*.zippolkuun\\fileserver\share\dns\$env:COMPUTERNAME\...(myönnä jakamisoikeudet ja NTFS-oikeudet DC:n tietokoneen tileille tai Domain Controllers -ryhmälle, jos tehtävä ajetaanSYSTEM-tilillä) - Haku-malli: keskitetty työ lukee
\\dc\C$\Administration\Logs\DNSServer\*.zip(vähiten suositeltu; vaatii hallintajakamiset) - Agentin välitys: SIEM / lokiputki, joka lähettää
*.zip-tulosteet
Käyttöönottokäytännöt
- Vähimmän oikeuden periaate: tehtävät ajetaan
SYSTEM-tilillä; varmista, että paikalliset kansiot ovat kirjoitettavissa ja että UNC-kohteet myöntävät pääsyn tietokoneen tilille, jos niitä käytetään. - Allekirjoituspolitiikka: molemmat tehtävät käyttävät
-ExecutionPolicy RemoteSigned; allekirjoita tai poista estot käyttöön otetusta skriptistä ja moduulista politiikkasi mukaisesti. - Levyn käyttö:
-CompressOutputauttaa merkittävästi, mutta tämä työnkulku ei poista lähdelokeja; suunnittele säilytys ja siivous. - Uudelleenkäsittelykäytös: ellet arkistoi tai poista käsiteltyjä lokitiedostoja, muunnostehtävä käsittelee jokaisen ei-aktiivisen
*.log-tiedoston uudelleen myöhemmillä ajoilla. Tämä on yksinkertaista ja luotettavaa, mutta voi ylikirjoittaa tulosteita ja aiheuttaa kaksoiskirjauksia, jos kerääjä ei poista duplikaatteja. - Usean DC:n yhdistäminen:
-ComputerName $env:COMPUTERNAMEsisältyy, jotta yhdistetyistä aineistoista säilyy jäljitettävyys. - Validointi: otsikkotarkistus on edelleen käytössä, koska tehtävä ei käytä
-SkipHeaderValidation(suositeltavaa).
Vahvista ja mukauta (ZIP-arkiston avulla)
Käytä ZIP-arkistoa viiteimplementaationa ja sovita seuraavat asiat ympäristöösi:
- Kohdealue: mitkä DC:t / OU:t saavat politiikan
- Suoritusidentiteetti: varmista, että molemmat ajastetut tehtävät käyttävät tarkoitettua kirjautumistyyppiä (
S4UvsInteractiveToken) tai yhdenmukaista ne standardiisi - Kansioiden luonti: päätä, luodaanko
C:\Administration\ScriptsjaC:\Administration\Logs\DNSServermuualla valmiiksi vai luodaanko ne lisä-GPP-kohteilla - Polut: varmista, että
C:\Administration\ScriptsjaC:\Administration\Logs\DNSServervastaavat käytäntöjäsi - Säilytys: päätä, säilytetäänkö raakalokitus ja kuinka pitkään (erityisesti jos otat käyttöön siivousvaihtoehdot)
- Keräys: varmista, minne CSV/ZIP-tulosteet kirjoitetaan ja miten ne kerätään keskitetysti
Jos haluat vahvistaa tarkan GPO-konfiguraation ilman tuontia, tämän repositorion auktoritatiiviset lähteet ovat:
- manifest.xml varmuuskopion metatiedoille
- gpreport.xml ihmisen luettavalle täydelle raportille
- Files.xml tiedostojen jakeluun
- Set-DNSServerDebugLogging.ps1 skriptin sisältöön
- ScheduledTasks.xml ajastettuihin tehtäviin