5.1 - Convert-DNSDebugLogFile
SYNOPSIS
ವಿಂಡೋಸ್ DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ಗಳನ್ನು ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ವರದಿಗೊಳಿಸುವಿಕೆಗೆ ರಚಿಸಲಾದ CSV ಸ್ವರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸುತ್ತದೆ.
SYNTAX
__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>]
ALIASES
ಈ cmdlet ಗೆ ಕೆಳಗಿನ ಬದಲಾವಣೆ ಹೆಸರುಗಳಿವೆ,
DESCRIPTION
ವಿಂಡೋಸ್ DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ ಫೈಲ್ಗಳನ್ನು ವಿಶ್ಲೇಷಣೆ ಮಾಡಬಹುದಾದ ಮತ್ತು ವರದಿಗೊಳಿಸಬಹುದಾದ ರಚಿಸಲಾದ CSV ಡೇಟಾಗಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
ಸುರಕ್ಷತಾ ವಿಶ್ಲೇಷಣೆ, ಕಾರ್ಯಕ್ಷಮತೆ ಮೇಲ್ವಿಚಾರಣೆ, ಸಮಸ್ಯೆ ಪರಿಹಾರ ಮತ್ತು ಅನುಕೂಲತಾ ವರದಿಗೊಳಿಸುವಿಕೆಗೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.
cmdlet DNS ಡಿಬಗ್ ಲಾಗ್ಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ ವಿಶ್ಲೇಷಣೆಗೆ ಸुसಂಗತ CSV ಔಟ್ಪುಟ್ ಅನ್ನು ಬರೆಯುತ್ತದೆ.
CSV ಔಟ್ಪುಟ್ನಲ್ಲಿ 18 ಕಾಲಮ್ಗಳಿವೆ, ಅವುಗಳಲ್ಲಿ Information ಕಾಲಮ್ ಇವೆವೆಂಟ್/ನಿರ್ಣಾಯಕ ಪಠ್ಯಕ್ಕಾಗಿ,
ಐಚ್ಛಿಕ Details JSON ಕಾಲಮ್ ಪ್ಯಾಕೆಟ್ ವಿವರ ಬ್ಲಾಕ್ಗಳಿಗೆ, ಮತ್ತು ಸದಾ ಇರುವ ComputerName ಕಾಲಮ್ (ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ ಖಾಲಿ).
ಮುಖ್ಯ ವೈಶಿಷ್ಟ್ಯಗಳು:
- ದೊಡ್ಡ ಫೈಲ್ಗಳಿಗೆ (100MB+ ) ಉನ್ನತ ಕಾರ್ಯಕ್ಷಮತೆ ಪಾರ್ಸಿಂಗ್
- ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದಾದ CSV ಡಿಲಿಮಿಟರ್ (ಡೀಫಾಲ್ಟ್: ಸೆಮಿಕೋಲನ್)
- ಐಚ್ಛಿಕ ಸಾಂಖ್ಯಿಕ ಸಾರಾಂಶಗಳು ಸಂಗ್ರಹಿತ ಮೆಟ್ರಿಕ್ಗಳೊಂದಿಗೆ
- ನಿರ್ದಿಷ್ಟ ಲಾಗ್ ಎಂಟ್ರಿ ಪ್ರಕಾರಗಳಿಗೆ ಗಮನಹರಿಸಲು ಕಾಂಟೆಕ್ಸ್ಟ್ ಫಿಲ್ಟರಿಂಗ್ (ಪ್ಯಾಕೆಟ್, ಈವೆಂಟ್, ನೋಟ್ ಮತ್ತು ಹೆಚ್ಚುವರಿ ಕಾಂಟೆಕ್ಸ್ಟ್ಗಳು)
- ಅಂತಾರಾಷ್ಟ್ರೀಯ ಸರ್ವರ್ಗಳಿಗೆ ಸಂಸ್ಕೃತಿ-ಅನುಕೂಲಿತ ದಿನಾಂಕ ಪಾರ್ಸಿಂಗ್ ಮತ್ತು ಸ್ವರೂಪೀಕರಣ
- ಬಹು ಫೈಲ್ಗಳ ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆಗೆ ಪೈಪ್ಲೈನ್ ಬೆಂಬಲ
- ಔಟ್ಪುಟ್ ಫೈಲ್ಗಳ ಐಚ್ಛಿಕ ಸಂಕುಚಿತ (ZIP ಸ್ವರೂಪ)
- ಪ್ರಕ್ರಿಯೆಯ ನಂತರ ಮೂಲ ಫೈಲ್ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೆಗೆದುಹಾಕುವ ಆಯ್ಕೆಯು
- ಡೇಟಾ ಸಮಗ್ರತೆಗಾಗಿ ಹೆಡರ್ ಮಾನ್ಯತೆ
ಔಟ್ಪುಟ್ ಸ್ವರೂಪ:
ಪ್ರತಿ ದಾಖಲೆ ಕೊನೆಯಲ್ಲಿ ComputerName ಕಾಲಮ್ ಸದಾ ಸೇರಿಸಲಾಗುತ್ತದೆ.
-ComputerName
ಪ್ಯಾರಾಮೀಟರ್ ನೀಡದಿದ್ದರೆ ಕಾಲಮ್ ಖಾಲಿಯಾಗಿರುತ್ತದೆ.
ಇದು ಬಹು-ಸರ್ವರ್ ಸಂಯೋಜನೆ ಸಂದರ್ಭಗಳಿಗೆ ಸुसಂಗತ ಔಟ್ಪುಟ್ ರಚನೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಕಾರ್ಯಕ್ಷಮತೆ:
64KB ಬಫರ್ಗಳೊಂದಿಗೆ StreamReader/StreamWriter ಬಳಸಿ, regex ಬದಲು ಸ್ಟ್ರಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಗಳು, ಕೈಯಿಂದ CSV ರಚನೆ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಹ್ಯಾಷ್ಟೇಬಲ್ ಆಧಾರಿತ ಸಾಂಖ್ಯಿಕ ಸಂಗ್ರಹಣೆಯೊಂದಿಗೆ ಸುಧಾರಿಸಲಾಗಿದೆ.
ಸಮ್ಮತತೆ:
- PowerShell 5.1+ (ಡೆಸ್ಕ್ಟಾಪ್ ಮತ್ತು ಕೋರ್ ಆವೃತ್ತಿಗಳು)
- ವಿಂಡೋಸ್ ಸರ್ವರ್ 2016+
- DNS ಸರ್ವರ್ 2012 R2 ರಿಂದ 2025 ಲಾಗ್ ಸ್ವರೂಪಗಳು
EXAMPLES
EXAMPLE 1
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log"
ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳೊಂದಿಗೆ DNS ಡಿಬಗ್ ಲಾಗ್ ಪರಿವರ್ತಿಸುತ್ತದೆ (ಡೇಟಾ ಮತ್ತು ಸಾಂಖ್ಯಿಕ ಫೈಲ್ಗಳು ಸೆಮಿಕೋಲನ್ ಡಿಲಿಮಿಟರ್ಗಳೊಂದಿಗೆ).
ಔಟ್ಪುಟ್:
- C:\Logs\dns.csv
- C:\Logs\dns_Statistic.csv
- C:\Logs\dns_PacketStatistic.csv
EXAMPLE 2
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputType CSV
ಮಾತ್ರ ಡೇಟಾ ಫೈಲ್ ರಚಿಸುತ್ತದೆ, ಸಾಂಖ್ಯಿಕ ಫೈಲ್ ಇಲ್ಲದೆ.
ಔಟ್ಪುಟ್: C:\Logs\dns.csv
EXAMPLE 3
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputType Statistic
ಮಾತ್ರ ಸಾಂಖ್ಯಿಕ ಫೈಲ್ಗಳನ್ನು ಸಂಗ್ರಹಿತ ಮೆಟ್ರಿಕ್ಗಳೊಂದಿಗೆ ರಚಿಸುತ್ತದೆ.
ಔಟ್ಪುಟ್:
- C:\Logs\dns_Statistic.csv
- C:\Logs\dns_PacketStatistic.csv
EXAMPLE 4
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputFile "C:\Output\parsed.csv"
ಲಾಗ್ ಅನ್ನು ಕಸ್ಟಮ್ ಔಟ್ಪುಟ್ ಸ್ಥಳಕ್ಕೆ ಪರಿವರ್ತಿಸುತ್ತದೆ.
ಔಟ್ಪುಟ್: C:\Output\parsed.csv
EXAMPLE 5
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -Delimiter "," -ComputerName "DNS01" -OutputType Both
ಕಾಮಾ ಡಿಲಿಮಿಟರ್ ಬಳಸಿ ಮತ್ತು ComputerName ಕಾಲಮ್ಗೆ “DNS01” ಮೌಲ್ಯ ಸೇರಿಸಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
ಔಟ್ಪುಟ್:
- C:\Logs\dns.csv
- C:\Logs\dns_Statistic.csv
- C:\Logs\dns_PacketStatistic.csv
EXAMPLE 6
PS C:\> Get-ChildItem "C:\Logs\*.log" | Convert-DNSDebugLogFile -OutputType Both
ಪೈಪ್ಲೈನ್ ಮೂಲಕ ಬಹು DNS ಡಿಬಗ್ ಲಾಗ್ ಫೈಲ್ಗಳ ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆ.
ಔಟ್ಪುಟ್: ಪ್ರತಿ .log ಫೈಲ್ಗೆ .csv ಮತ್ತು _statistic.csv ಫೈಲ್ಗಳನ್ನು ರಚಿಸುತ್ತದೆ
EXAMPLE 7
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -CompressOutput
ಔಟ್ಪುಟ್ ಅನ್ನು ZIP ಆರ್ಕೈವ್ ಆಗಿ ಸಂಕುಚಿತ ಮಾಡಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
ಔಟ್ಪುಟ್: C:\Logs\dns.zip (dns.csv + ಸಾಂಖ್ಯಿಕ ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ)
EXAMPLE 8
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -RemoveSourceFile -Verbose
ಲಾಗ್ ಅನ್ನು ಪರಿವರ್ತಿಸಿ ಯಶಸ್ವಿ ಪ್ರಕ್ರಿಯೆಯ ನಂತರ ಮೂಲ ಫೈಲ್ ತೆಗೆದುಹಾಕುತ್ತದೆ.
ವಿವರವಾದ ಔಟ್ಪುಟ್ ಫೈಲ್ ತೆಗೆದುಹಾಕುವಿಕೆಯನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ.
EXAMPLE 9
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -InputCulture 'de-DE' -OutputCulture 'en-US'
ಜರ್ಮನ್ ದಿನಾಂಕ ಸ್ವರೂಪ (DD.MM.YYYY) ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ US ಸ್ವರೂಪ (MM/DD/YYYY) ನಲ್ಲಿ ಔಟ್ಪುಟ್ ಮಾಡುತ್ತದೆ.
ವಿಭಿನ್ನ ಪ್ರಾದೇಶಿಕ ಸೆಟ್ಟಿಂಗ್ಗಳಿರುವ ಸರ್ವರ್ಗಳಿಂದ ಲಾಗ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡುವಾಗ ಬಳಸಿ.
EXAMPLE 10
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter 'Packet'
ಮಾತ್ರ DNS ಕ್ವೇರಿ/ಪ್ರತಿಕ್ರಿಯೆ ಪ್ಯಾಕೆಟ್ ಎಂಟ್ರಿಗಳನ್ನು ಪರಿವರ್ತಿಸುತ್ತದೆ, EVENT ಮತ್ತು Note ಎಂಟ್ರಿಗಳನ್ನು ಹೊರತುಪಡಿಸಿ.
ನಿಜವಾದ DNS ಟ್ರಾಫಿಕ್ ಮೇಲೆ ವಿಶ್ಲೇಷಣೆಗೆ ಗಮನಹರಿಸಲು ಬಳಸಿ.
EXAMPLE 11
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter 'Packet','Event'
DNS ಕ್ವೇರಿ/ಪ್ರತಿಕ್ರಿಯೆ ಪ್ಯಾಕೆಟ್ಗಳು ಮತ್ತು ಸರ್ವರ್ ಈವೆಂಟ್ಗಳನ್ನು ಎರಡನ್ನೂ ಪರಿವರ್ತಿಸುತ್ತದೆ, Note ಮತ್ತು ಇತರೆ ಎಂಟ್ರಿಗಳನ್ನು ಹೊರತುಪಡಿಸಿ.
DNS ಟ್ರಾಫಿಕ್ ಮತ್ತು ಸರ್ವರ್ ಈವೆಂಟ್ ಕಾಂಟೆಕ್ಸ್ಟ್ ಜೊತೆಗೆ ವಿಶ್ಲೇಷಿಸಲು ಬಳಸಿ.
EXAMPLE 12
PS C:\> Get-ChildItem "C:\Logs\*.log" | Convert-DNSDebugLogFile -RemoveSourceFile -CompressOutput
ಸ್ವಯಂಚಾಲಿತ ಲಾಗ್ ಆರ್ಕೈವಿಂಗ್: ಎಲ್ಲಾ ಲಾಗ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡಿ, ಔಟ್ಪುಟ್ ಅನ್ನು ಸಂಕುಚಿತ ಮಾಡಿ ಮತ್ತು ಮೂಲ ಫೈಲ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
ನಿಯೋಜಿತ ಲಾಗ್ ಪ್ರಕ್ರಿಯೆ ಪೈಪ್ಲೈನ್ಗಳಿಗೆ ಸೂಕ್ತ.
EXAMPLE 13
PS C:\> Convert-DNSDebugLogFile -InputFile "C:\Logs\large-dns.log" -NoDetailsParsing
ವಿಶಾಲ ಲಾಗ್ ಫೈಲ್ ಅನ್ನು ವಿವರ ಪಾರ್ಸಿಂಗ್ ಇಲ್ಲದೆ ಗರಿಷ್ಠ ಕಾರ್ಯಕ್ಷಮತೆಯೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತದೆ.
PACKET ವಿವರ ಬ್ಲಾಕ್ಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ, Details ಕಾಲಮ್ ಖಾಲಿಯಾಗಿರುತ್ತದೆ.
ಬಹಳ ದೊಡ್ಡ ಫೈಲ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡುವಾಗ ಮತ್ತು ವಿವರವಾದ ಪ್ಯಾಕೆಟ್ ರಚನೆ ಅಗತ್ಯವಿಲ್ಲದಾಗ ಬಳಸಿ.
PARAMETERS
-CompressOutput
ಔಟ್ಪುಟ್ CSV ಫೈಲ್ಗಳನ್ನು ರಚನೆಯ ನಂತರ ZIP ಆರ್ಕೈವ್ ಆಗಿ ಸಂಕುಚಿತ ಮಾಡುತ್ತದೆ.
ರಚಿಸಲಾದ CSV ಫೈಲ್(ಗಳು)ಳ್ಳ .zip ಫೈಲ್ ರಚಿಸಿ, ನಂತರ ಅಸಂಕುಚಿತ CSV(ಗಳನ್ನು) ತೆಗೆದುಹಾಕುತ್ತದೆ.
ZIP ಫೈಲ್ ಔಟ್ಪುಟ್ CSV ಇರುವ ಅದೇ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಅದೇ ಮೂಲ ಹೆಸರಿನಿಂದ ರಚಿಸಲಾಗುತ್ತದೆ.
ಲಾಭಗಳು:
- ಡಿಸ್ಕ್ ಜಾಗವನ್ನು ಬಹಳಷ್ಟು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ (CSV ಫೈಲ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ 90%+ ಸಂಕುಚಿತವಾಗುತ್ತವೆ)
- ಫೈಲ್ ನಿರ್ವಹಣೆ ಮತ್ತು ಆರ್ಕೈವಿಂಗ್ ಸುಲಭಗೊಳಿಸುತ್ತದೆ
- ದೀರ್ಘಕಾಲಿಕ ಸಂಗ್ರಹಣೆಗೆ ಸೂಕ್ತ
ಉದಾಹರಣೆ: ‘dns.log’ ಇನ್ಪುಟ್ ‘dns.csv’ ರಚಿಸಿ ಅದನ್ನು ‘dns.zip’ ಗೆ ಸಂಕುಚಿತ ಮಾಡಿ, ನಂತರ ‘dns.csv’ ತೆಗೆದುಹಾಕುತ್ತದೆ.
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
CSV ಔಟ್ಪುಟ್ನಲ್ಲಿ ComputerName ಕಾಲಮ್ಗೆ ಮೌಲ್ಯವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
ComputerName ಕಾಲಮ್
ಔಟ್ಪುಟ್ನಲ್ಲಿ ಸದಾ ಇರುತ್ತದೆ - ಈ ಪ್ಯಾರಾಮೀಟರ್ ನೀಡದಿದ್ದರೆ ಕಾಲಮ್ ಖಾಲಿಯಾಗಿರುತ್ತದೆ.
ಬಹು DNS ಸರ್ವರ್ಗಳಿಂದ ಲಾಗ್ಗಳನ್ನು ಸಂಯೋಜಿಸುವಾಗ ಮೂಲ ಸರ್ವರ್ ಗುರುತಿಸಲು ಇದನ್ನು ಬಳಸಿ.
ಗಮನಿಸಿ: ಇದು ರಿಮೋಟಿಂಗ್ ಪ್ಯಾರಾಮೀಟರ್ ಅಲ್ಲ.
cmdlet ಸ್ಥಳೀಯ ಫೈಲ್ಗಳನ್ನು ಮಾತ್ರ ಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತದೆ.
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
cmdlet ನಡಿಸುವ ಮೊದಲು ದೃಢೀಕರಣ ಕೇಳುತ್ತದೆ.
ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಾಗ, ಕೆಳಗಿನ ಕಾರ್ಯಗಳ ಮೊದಲು ದೃಢೀಕರಣ ಕೇಳುತ್ತದೆ:
- ಪ್ರತಿ DNS ಡಿಬಗ್ ಲಾಗ್ ಫೈಲ್ ಪ್ರಕ್ರಿಯೆ
- ಮೂಲ ಫೈಲ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು (-RemoveSourceFile ನೀಡಿದಾಗ)
- ಈಗಿರುವ ಔಟ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ಮರುಬರೆಯುವುದು
ಯುಸರ್ ಇಂಟರಾಕ್ಟಿವ್ ಪ್ರಕ್ರಿಯೆಗೆ ಉಪಯುಕ್ತ, ಯಾವ ಫೈಲ್ಗಳು ಪ್ರಕ್ರಿಯೆಗೊಳ್ಳಬೇಕೆಂದು ನಿಯಂತ್ರಿಸಲು.
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
ಔಟ್ಪುಟ್ಗೆ ಸೇರಿಸುವ ಲಾಗ್ ಎಂಟ್ರಿ ಪ್ರಕಾರಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡುತ್ತದೆ.
ಒಂದು ಅಥವಾ ಅನೇಕ ಮೌಲ್ಯಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ.
DNS ಡಿಬಗ್ ಲಾಗ್ಗಳಲ್ಲಿ ವಿಭಿನ್ನ ಕಾಂಟೆಕ್ಸ್ಟ್ ಪ್ರಕಾರಗಳಿವೆ:
- PACKET: DNS ಕ್ವೇರಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ ಪ್ಯಾಕೆಟ್ ಮಾಹಿತಿ (ಪ್ರಾಥಮಿಕ ಡೇಟಾ)
- EVENT: DNS ಸರ್ವರ್ ಈವೆಂಟ್ಗಳು (ಉದಾ: “The DNS server has started.”)
- Note: ನಿರ್ಣಾಯಕ ಟಿಪ್ಪಣಿಗಳು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳು (ಉದಾ: ಸಾಕೆಟ್ ದೋಷಗಳು, ಆಂತರಿಕ ಸ್ಥಿತಿಗಳು)
- DSPoll, Init, Lookup, Recurse, Remote, Tombstone: ಹೆಚ್ಚುವರಿ ಕಾಂಟೆಕ್ಸ್ಟ್ ಪ್ರಕಾರಗಳು
ಮಾನ್ಯ ಮೌಲ್ಯಗಳು:
- ‘All’: ಎಲ್ಲಾ ಕಾಂಟೆಕ್ಸ್ಟ್ ಪ್ರಕಾರಗಳನ್ನು ಸೇರಿಸಿ (ಡೀಫಾಲ್ಟ್)
- ‘Packet’: ಮಾತ್ರ PACKET ಎಂಟ್ರಿಗಳನ್ನು ಸೇರಿಸಿ (DNS ಕ್ವೇರಿ/ಪ್ರತಿಕ್ರಿಯೆಗಳು)
- ‘Event’: ಮಾತ್ರ EVENT ಎಂಟ್ರಿಗಳನ್ನು ಸೇರಿಸಿ (ಸರ್ವರ್ ಈವೆಂಟ್ಗಳು)
- ‘Note’: ಮಾತ್ರ Note ಎಂಟ್ರಿಗಳನ್ನು ಸೇರಿಸಿ (ನಿರ್ಣಾಯಕ ಮಾಹಿತಿ)
- ಯಾವುದೇ ಸಂಯೋಜನೆ: ನಿರ್ದಿಷ್ಟ ಕಾಂಟೆಕ್ಸ್ಟ್ ಪ್ರಕಾರಗಳನ್ನು ಸೇರಿಸಲು ಅನೇಕ ಮೌಲ್ಯಗಳನ್ನು ಸೂಚಿಸಿ
ಡೀಫಾಲ್ಟ್: All
ಉದಾಹರಣೆಗಳು:
- ‘Packet’ ಮಾತ್ರ DNS ಟ್ರಾಫಿಕ್ಗೆ ಫಿಲ್ಟರ್ ಮಾಡುತ್ತದೆ
- ‘Packet’,‘Event’ ಎರಡೂ DNS ಟ್ರಾಫಿಕ್ ಮತ್ತು ಸರ್ವರ್ ಈವೆಂಟ್ಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ
- ‘Note’,‘Event’ ನಿರ್ಣಾಯಕ ಟಿಪ್ಪಣಿಗಳು ಮತ್ತು ಸರ್ವರ್ ಈವೆಂಟ್ಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ
ಗಮನಿಸಿ: ‘Event’ ಅಥವಾ ‘Note’ ಗೆ ಫಿಲ್ಟರ್ ಮಾಡಿದಾಗ, DateTime, ThreadId, Context ಮತ್ತು Information ಕಾಲಮ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಡೇಟಾ ಇರುತ್ತದೆ.
ಇತರೆ ಕಾಲಮ್ಗಳು (ಪ್ರೋಟೋಕಾಲ್, ClientIP ಇತ್ಯಾದಿ) ಖಾಲಿಯಾಗಿರುತ್ತವೆ.
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
CSV ಔಟ್ಪುಟ್ಗೆ ಡಿಲಿಮಿಟರ್ ಅಕ್ಷರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
ಡೀಫಾಲ್ಟ್: ಸೆಮಿಕೋಲನ್ (;)
ಸಾಮಾನ್ಯ ಪರ್ಯಾಯಗಳು: ಕಾಮಾ (,), ಟ್ಯಾಬ್ (`t), ಪೈಪ್ (|)
ಯೂರೋಪ್ ಸೇರಿದಂತೆ, ಡೆಸಿಮಲ್ ಸೆಪರೇಟರ್ ಕಾಮಾ ಆಗಿರುವ ಪ್ರದೇಶಗಳಲ್ಲಿ ಸೆಮಿಕೋಲನ್ ಬಳಸಿ.
ಕಾಮಾ ಬೇರೆ CSV ಉಪಕರಣಗಳು ಮತ್ತು ಡೇಟಾಬೇಸ್ಗಳಿಗೆ ಉಪಯುಕ್ತ.
Type: String
DefaultValue: ;
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 2
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
DNS ಡಿಬಗ್ ಲಾಗ್ನಲ್ಲಿ ದಿನಾಂಕ/ಸಮಯ ಮೌಲ್ಯಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಬಳಸುವ ಸಂಸ್ಕೃತಿ/ಸ್ಥಳೀಯತೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ಗಳು ಲಾಗ್ ರಚನೆಯಾಗಿರುವ ಸರ್ವರ್ನ ವಿಂಡೋಸ್ ಸ್ಥಳೀಯತೆಯ ದಿನಾಂಕ ಸ್ವರೂಪವನ್ನು ಬಳಸುತ್ತವೆ.
ವಿಭಿನ್ನ ಪ್ರಾದೇಶಿಕ ಸೆಟ್ಟಿಂಗ್ಗಳಿರುವ ಸರ್ವರ್ಗಳಿಂದ ಲಾಗ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡುವಾಗ ಈ ಪ್ಯಾರಾಮೀಟರ್ ಬಳಸಿ.
ಡೀಫಾಲ್ಟ್: ಪ್ರಸ್ತುತ ಸಂಸ್ಕೃತಿ
ಸಾಮಾನ್ಯ ಉದಾಹರಣೆಗಳು:
- ‘de-DE’ ಅಥವಾ ‘de-AT’: ಜರ್ಮನ್ ಸ್ವರೂಪ (DD.MM.YYYY ಅಥವಾ DD/MM/YYYY)
- ’en-US’: US ಸ್ವರೂಪ (MM/DD/YYYY AM/PM)
- ’en-GB’: UK ಸ್ವರೂಪ (DD/MM/YYYY 24 ಗಂಟೆಗಳ ಸಮಯ)
- ‘sv-SE’: ಸ್ವೀಡಿಷ್/ISO ಸ್ವರೂಪ (YYYY-MM-DD)
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: ''
ಪಾರ್ಸ್ ಮಾಡಲು DNS ಡಿಬಗ್ ಲಾಗ್ ಫೈಲ್ನ ಪಥವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
ಬಹು ಫೈಲ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡಲು ಅರೆಗಳನ್ನೂ ಬೆಂಬಲಿಸುತ್ತದೆ.
Get-ChildItem ಅಥವಾ ಇತರ ಫೈಲ್ ಉತ್ಪಾದಕ cmdlet ಗಳಿಂದ ಪೈಪ್ಲೈನ್ ಇನ್ಪುಟ್ ಸ್ವೀಕರಿಸುತ್ತದೆ.
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
PACKET ವಿವರ ಬ್ಲಾಕ್ಗಳನ್ನು ರಚಿಸಲಾದ JSON ಸ್ವರೂಪಕ್ಕೆ ಪಾರ್ಸ್ ಮಾಡುವುದು ತಪ್ಪಿಸುತ್ತದೆ.
ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಾಗ, TCP/UDP ಮಾಹಿತಿ ಸಾಲು Information ಕಾಲಮ್ನಲ್ಲಿ ಇರುತ್ತದೆ, ಆದರೆ Details ಕಾಲಮ್ ಖಾಲಿಯಾಗಿರುತ್ತದೆ.
ಇದು ದೊಡ್ಡ ಲಾಗ್ ಫೈಲ್ಗಳಿಗಾಗಿ ಗರಿಷ್ಠ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, ವಿವರವಾದ ಪ್ಯಾಕೆಟ್ ರಚನೆ ವಿಶ್ಲೇಷಣೆ ಅಗತ್ಯವಿಲ್ಲದಾಗ.
ಈ ಸ್ವಿಚ್ ಬಳಸಿ:
- ಬಹಳ ದೊಡ್ಡ ಲಾಗ್ ಫೈಲ್ಗಳನ್ನು (100MB+) ಪ್ರಕ್ರಿಯೆ ಮಾಡುವಾಗ ಮತ್ತು ಮೂಲ ಕ್ವೇರಿ ಮಾಹಿತಿ ಮಾತ್ರ ಬೇಕಾದಾಗ
- ವಿಶ್ಲೇಷಣೆಗೆ ವಿವರ ರಚನೆ (ಸಂದೇಶ ಧ್ವಜಗಳು, DNS ವಿಭಾಗಗಳು) ಅಗತ್ಯವಿಲ್ಲದಾಗ
- ಡೇಟಾ ಸಂಪೂರ್ಣತೆಯಿಗಿಂತ ವೇಗ ಹೆಚ್ಚಿಸುವುದು ಮುಖ್ಯವಾದಾಗ
ಕಾರ್ಯಕ್ಷಮತೆ ಪರಿಣಾಮ: PACKET ವಿವರ ಬ್ಲಾಕ್ಗಳಿರುವ ಲಾಗ್ಗಳಿಗೆ 30-50% ವೇಗ ಸುಧಾರಣೆ ಸಾಧ್ಯ.
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
ಔಟ್ಪುಟ್ CSV ಫೈಲ್ಗಳಲ್ಲಿ ದಿನಾಂಕ/ಸಮಯ ಮೌಲ್ಯಗಳನ್ನು ಸ್ವರೂಪಗೊಳಿಸಲು ಬಳಸುವ ಸಂಸ್ಕೃತಿ/ಸ್ಥಳೀಯತೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
DateTime ಮೌಲ್ಯಗಳನ್ನು CSV ಗೆ ಹೇಗೆ ಬರೆಯಬೇಕು ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
ನಿರ್ದಿಷ್ಟ ಪ್ರಾದೇಶಿಕ ಸೆಟ್ಟಿಂಗ್ಗಳಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಅಥವಾ ವ್ಯವಸ್ಥೆಗಳು CSV ಫೈಲ್ಗಳನ್ನು ಉಪಯೋಗಿಸುವಾಗ ಇದನ್ನು ಬಳಸಿ.
ಡೀಫಾಲ್ಟ್: ಪ್ರಸ್ತುತ ಸಂಸ್ಕೃತಿ
ಸಾಮಾನ್ಯ ಉದಾಹರಣೆಗಳು:
- ’en-US’: US ಸ್ವರೂಪ (MM/DD/YYYY)
- ‘de-DE’: ಜರ್ಮನ್ ಸ್ವರೂಪ (DD.MM.YYYY)
- ‘sv-SE’ ಅಥವಾ InvariantCulture: ISO ಸ್ವರೂಪ (YYYY-MM-DD) ಗರಿಷ್ಠ ಹೊಂದಾಣಿಕೆಗೆ
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
ಔಟ್ಪುಟ್ CSV ಫೈಲ್ಗಾಗಿ ಪಥವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, ಇನ್ಪುಟ್ ಫೈಲ್ ಹೆಸರಿನೊಂದಿಗೆ .csv ವಿಸ್ತರಣೆ ಮತ್ತು ಇನ್ಪುಟ್ ಫೈಲ್ ಇರುವ ಅದೇ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಮುಖ್ಯ: ಇದು ಫೈಲ್ ಪಥವಾಗಿರಬೇಕು, ಡೈರೆಕ್ಟರಿ ಅಲ್ಲ.
ಇನ್ಪುಟ್ ಫೈಲ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ಕಸ್ಟಮ್ ಹೆಸರಿನೊಂದಿಗೆ ಬಳಸಬೇಕಾದರೆ, ಫೈಲ್ ಹೆಸರನ್ನು ಒಳಗೊಂಡ ಪೂರ್ಣ ಪಥವನ್ನು ನೀಡಿರಿ.
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
ರಚಿಸಬೇಕಾದ ಔಟ್ಪುಟ್ ಪ್ರಕಾರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
ಮಾನ್ಯ ಮೌಲ್ಯಗಳು:
- ‘CSV’: ಎಲ್ಲಾ ಪಾರ್ಸ್ ಮಾಡಿದ ಲಾಗ್ ಎಂಟ್ರಿಗಳೊಂದಿಗೆ ಡೇಟಾ ಫೈಲ್ ಮಾತ್ರ ರಚಿಸಿ
- ‘Statistic’: ಸಂಗ್ರಹಿತ ಮೆಟ್ರಿಕ್ಗಳೊಂದಿಗೆ ಸಾಂಖ್ಯಿಕ ಫೈಲ್ಗಳು ಮಾತ್ರ ರಚಿಸಿ
- ‘Both’: ಡೇಟಾ ಮತ್ತು ಸಾಂಖ್ಯಿಕ ಫೈಲ್ಗಳನ್ನು ಎರಡನ್ನೂ ರಚಿಸಿ (ಡೀಫಾಲ್ಟ್)
ಸಾಂಖ್ಯಿಕ ಫೈಲ್ಗಳು ರಚಿಸಿದಾಗ, ಎರಡು ಪ್ರತ್ಯೇಕ ಫೈಲ್ಗಳು ರಚಿಸಲಾಗುತ್ತವೆ:
- ‘_Statistic.csv’: ದಿನಾಂಕ, ಕಾಂಟೆಕ್ಸ್ಟ್, ಎಣಿಕೆ, ComputerName ಪ್ರಕಾರದ ಸಾರಾಂಶ ಎಣಿಕೆಗಳು
- ‘_PacketStatistic.csv’: ದಿನಾಂಕ, ClientIP, ಪ್ರೋಟೋಕಾಲ್, ದಿಕ್ಕು, ಪ್ರಶ್ನಾ ಪ್ರಕಾರ, ಎಣಿಕೆ, ComputerName ಪ್ರಕಾರದ ವಿವರವಾದ PACKET ಎಣಿಕೆಗಳು
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
ಯಶಸ್ವಿ ಪ್ರಕ್ರಿಯೆಯ ನಂತರ ಮೂಲ DNS ಡಿಬಗ್ ಲಾಗ್ ಫೈಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
ಸ್ವಯಂಚಾಲಿತ ಲಾಗ್ ಪ್ರಕ್ರಿಯೆ ಪೈಪ್ಲೈನ್ಗಳು ಅಥವಾ ಡಿಸ್ಕ್ ಜಾಗ ನಿರ್ವಹಣೆಗೆ ಇದನ್ನು ಬಳಸಿ.
ಮೂಲ ಫೈಲ್ ಅನ್ನು ಮಾತ್ರ ಪ್ರಕ್ರಿಯೆ ಯಶಸ್ವಿಯಾಗಿ ಪೂರ್ಣಗೊಂಡಾಗ ಮತ್ತು ಎಲ್ಲಾ ಔಟ್ಪುಟ್ ಫೈಲ್ಗಳು ರಚನೆಯಾದಾಗ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.
ಸುರಕ್ಷತೆ: ತಪ್ಪಾಗಿ ಅಮಾನ್ಯ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸುವುದನ್ನು ತಪ್ಪಿಸಲು -SkipHeaderValidation ಜೊತೆಗೆ ಬಳಸಲಾಗುವುದಿಲ್ಲ.
ಎಚ್ಚರಿಕೆ: ಮೂಲ ಫೈಲ್ಗಳು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತವೆ.
ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸುವ ಮೊದಲು ಔಟ್ಪುಟ್ ಫೈಲ್ಗಳು ಮಾನ್ಯವಾಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: Named
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
DNS ಡಿಬಗ್ ಲಾಗ್ ಹೆಡರ್ ಮಾನ್ಯತೆ ಪರಿಶೀಲನೆಯನ್ನು ಬಿಟ್ಟುಹೋಗುತ್ತದೆ.
ಡೀಫಾಲ್ಟ್ನಲ್ಲಿ, cmdlet ಇನ್ಪುಟ್ ಫೈಲ್ಗಳಲ್ಲಿ ಮಾನ್ಯ DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ ಹೆಡರ್ ಇರುವುದನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ.
ಈ ಸ್ವಿಚ್ ಬಳಸಿ ಮಾನ್ಯತೆ ಇಲ್ಲದೆ ಫೈಲ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡಬಹುದು, ಇದು ಕೆಳಗಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಉಪಯುಕ್ತ:
- ಬದಲಾಯಿಸಿದ ಅಥವಾ ಕಸ್ಟಮ್ ಲಾಗ್ ಸ್ವರೂಪಗಳು
- ಮಾನ್ಯತೆ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವುದು
- ಅಸಾಮಾನ್ಯ ಅಥವಾ ಪೂರ್ವ-ಪ್ರಕ್ರಿಯೆಯ ಲಾಗ್ಗಳು
ಎಚ್ಚರಿಕೆ: ಫೈಲ್ ಮಾನ್ಯ DNS ಲಾಗ್ ಅಲ್ಲದಿದ್ದರೆ ಪ್ರಕ್ರಿಯೆ ದೋಷಗಳು ಸಂಭವಿಸಬಹುದು.
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
cmdlet ನಡಿಸಿದರೆ ಏನು ಸಂಭವಿಸುವುದೆಂದು ತೋರಿಸುತ್ತದೆ.
cmdlet ನಡಿಸುವುದಿಲ್ಲ.
ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಾಗ, ನಡಿಸುವ ಕಾರ್ಯಗಳ ವಿವರವಾದ ಮಾಹಿತಿ ಪ್ರದರ್ಶಿಸುತ್ತದೆ ಆದರೆ ನಿಜವಾಗಿಯೂ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ.
ಉಪಯುಕ್ತ:
- ಯಾವ ಫೈಲ್ಗಳು ಪ್ರಕ್ರಿಯೆಗೊಳ್ಳುತ್ತವೆ ಎಂದು ಪೂರ್ವದೃಷ್ಟಿ ಪಡೆಯಲು
- ಪ್ರಕ್ರಿಯೆ ಮಾಡುವ ಮೊದಲು ಔಟ್ಪುಟ್ ಫೈಲ್ ಪಥಗಳನ್ನು ಪರಿಶೀಲಿಸಲು
- ಉತ್ಪಾದನೆಯಲ್ಲಿ ನಡಿಸುವ ಮೊದಲು ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು
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
ಈ cmdlet ಸಾಮಾನ್ಯ ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, ಮತ್ತು -WarningVariable. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗೆ, ನೋಡಿ
about_CommonParameters.
System.String[]
NOTES
ಆವೃತ್ತಿ : 1.7.0.0
ಲೇಖಕ : Andi Bellstedt, Copilot
ದಿನಾಂಕ : 2026-01-25
ಕೀವರ್ಡ್ಗಳು : Microsoft Windows Server, DNSServer, DNS, DebugLog, LogParser
6.1 - ಡೊಮೇನ್ ಪರಿಸರದಲ್ಲಿ ಪ್ರಾಯೋಗಿಕ ಬಳಕೆ (GPO-ಚಾಲಿತ ಸಂಗ್ರಹ ಮತ್ತು ಪರಿವರ್ತನೆ)
ಈ ಉದಾಹರಣೆ ಡೊಮೇನ್ ನಿಯಂತ್ರಕರ ಮೇಲೆ DNS ಡಿಬಗ್ ಲಾಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು ಮತ್ತು ಪರಿವರ್ತಿಸುವುದಕ್ಕಾಗಿ GPO-ಚಾಲಿತ ವರ್ಕ್ಫ್ಲೋ ಅನ್ನು ಹೇಗೆ ಅನುಷ್ಠಾನಗೊಳಿಸುವುದನ್ನು ತೋರಿಸುತ್ತದೆ.
ಈ ದಸ್ತಾವೇಜು DNSServer.DebugLogParser ಅನ್ನು ಆಕ್ಟಿವ್ ಡೈರೆಕ್ಟರಿ ಡೊಮೇನ್ ಪರಿಸರದಲ್ಲಿ ಎಂಡ್-ಟು-ಎಂಡ್ ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಯಾಗಿ ವಿವರಿಸುತ್ತದೆ, ಡೊಮೇನ್ ನಿಯಂತ್ರಕರ ಮೇಲೆ ವಿಂಡೋಸ್ DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ಗಳನ್ನು ಪರಿವರ್ತಿಸುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿದೆ.
ಈ ಉದಾಹರಣೆಗೆ ZIP ಆರ್ಕೈವ್ ಕೂಡ ಲಭ್ಯವಿದ್ದು, ಇಲ್ಲಿ ವಿವರಿಸಲಾದ ವರ್ಕ್ಫ್ಲೋ ಅನುಷ್ಠಾನಗೊಳಿಸಲು ಬಳಸಲಾದ ಪಾಲಿಸಿ ಆರ್ಟಿಫ್ಯಾಕ್ಟ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಅತ್ಯಂತ ಸಂಬಂಧಿತ ಆರ್ಟಿಫ್ಯಾಕ್ಟ್ಗಳು ಬ್ಯಾಕಪ್ ಮ್ಯಾನಿಫೆಸ್ಟ್, GPO ವರದಿ, Files.xml, Set-DNSServerDebugLogging.ps1, ಮತ್ತು ScheduledTasks.xml.
ದೃಶ್ಯಾವಳಿ
- ಅನೇಕ ಡೊಮೇನ್ ನಿಯಂತ್ರಕರು (DCಗಳು) DNS ಸರ್ವರ್ ಪಾತ್ರವನ್ನು ಹೊಂದಿರುತ್ತಾರೆ.
- DNS ಡಿಬಗ್ ಲಾಗಿಂಗ್ ಪ್ರತಿ DCಯಲ್ಲಿಯೂ ನಿಯಮಿತವಾಗಿ ಮತ್ತು ಸ್ಥಿರವಾಗಿ ಶೆಡ್ಯೂಲ್ಡ್ ಟಾಸ್ಕ್ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ (
C:\Administration\Logs\DNSServer ಗೆ ಲಾಗ್ ಫೈಲ್ಗಳನ್ನು ಬರೆಯುವುದು). - ಕೇಂದ್ರಿತವಾಗಿ ನಿರ್ವಹಿಸಲಾದ ಪ್ರಕ್ರಿಯೆ ಲಾಗ್ಗಳನ್ನು CSV ಗೆ ಪರಿವರ್ತಿಸುತ್ತದೆ:
- ಭದ್ರತಾ ವಿಶ್ಲೇಷಣೆಗಾಗಿ
- ಕಾರ್ಯಾಚರಣಾ ವರದಿಗಾಗಿ
- ಸಮಸ್ಯೆ ಪರಿಹಾರಕ್ಕಾಗಿ
- ಅನುಕೂಲತೆ/ರಿಟೆನ್ಷನ್ಗಾಗಿ
ಗುರಿ ಫಲಿತಾಂಶಗಳು
- ಎಲ್ಲಾ DCಗಳಲ್ಲಿಯೂ ಸಾದೃಶ್ಯ ಪರಿವರ್ತನೆ ಸೆಟ್ಟಿಂಗ್ಗಳು
- ನಿರೀಕ್ಷಿತ ಔಟ್ಪುಟ್ ಸ್ಥಳ ಮತ್ತು ಹೆಸರು
- ಸಂಗ್ರಹಣಾ ಜಾಗವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಐಚ್ಛಿಕ ಸಂಕುಚಿತಗೊಳಿಸುವಿಕೆ
- ದೈನಂದಿನ ತ್ವರಿತ ಸಾಂಖ್ಯಿಕ ರಿಪೋರ್ಟ್ಗಳಿಗೆ ಐಚ್ಛಿಕ ಸಾಂಖ್ಯಿಕ ಔಟ್ಪುಟ್ಗಳು
- ಅತೀ ಕಡಿಮೆ ಹೋಸ್ಟ್-ಪಾರ್ಶ್ವದ ಅಪಾಯ, ಸ್ಪಷ್ಟ ಪುನರಾರಂಭ ಮತ್ತು ಕ್ಲೀನ್ಅಪ್ ಪರಿಗಣನೆಗಳೊಂದಿಗೆ
ಶಿಫಾರಸು ಮಾಡಲಾದ ವಾಸ್ತುಶಿಲ್ಪ
ಸಂಗ್ರಹ ಮಾದರಿ: ಸ್ಥಳೀಯ ಪರಿವರ್ತನೆ + ಕೇಂದ್ರಿತ ಪಲ್ಲಟ
- ಪ್ರತಿ DC ಡಿಸ್ಕ್ಗೆ DNS ಡಿಬಗ್ ಲಾಗ್ಗಳನ್ನು ಬರೆಯುತ್ತದೆ, ರೋಲ್ಓವರ್ ಸಕ್ರಿಯವಾಗಿದೆ.
- ಪ್ರತಿ DC ತಿರುಗಿದ
*.log ಫೈಲ್ಗಳನ್ನು ಡೇಟಾ CSV ಮತ್ತು ಸಾಂಖ್ಯಿಕ CSVಗಳಿಗೆ ಪರಿವರ್ತಿಸಿ, ನಂತರ ಅವುಗಳನ್ನು ಶೆಡ್ಯೂಲ್ (ಟಾಸ್ಕ್ ಶೆಡ್ಯೂಲರ್) ಮೂಲಕ *.zip ಆಗಿ ಸಂಕುಚಿತಗೊಳಿಸುತ್ತದೆ. - ಔಟ್ಪುಟ್ಗಳು ಲಾಗ್ ಫೈಲ್ಗಳ ಪಕ್ಕದಲ್ಲೇ ಬರೆಯಲ್ಪಡುತ್ತವೆ, ಇದರಿಂದ ಪೈಪ್ಲೈನ್ ಸರಳವಾಗಿರುತ್ತದೆ.
- ಕೇಂದ್ರ ಸರ್ವರ್
*.zip ಔಟ್ಪುಟ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಫೈಲ್ ಶೇರ್ ಇಂಜೆಸ್ಟನ್, ಶೆಡ್ಯೂಲ್ಡ್ ಕಾಪಿ, SIEM ಫಾರ್ವರ್ಡರ್ ಅಥವಾ ಏಜೆಂಟ್ ಆಧಾರಿತ ಸಂಗ್ರಹಕ ಮೂಲಕ.
ಈ ಮಾದರಿ ದೊಡ್ಡ ಕಚ್ಚಾ ಲಾಗ್ ಫೈಲ್ಗಳ ನೆಟ್ವರ್ಕ್ ಓದನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪಾರ್ಸಿಂಗ್ ಅನ್ನು ಡೇಟಾ ಹತ್ತಿರ ಇಡುತ್ತದೆ.
GPO ವರ್ಕ್ಫ್ಲೋ
ಈ ವರ್ಕ್ಫ್ಲೋ ಅನ್ನು ಗ್ರೂಪ್ ಪಾಲಿಸಿ (ಕಂಪ್ಯೂಟರ್ ಕಾನ್ಫಿಗರೇಶನ್) ಮೂಲಕ ಅನುಷ್ಠಾನಗೊಳಿಸಲಾಗಿದ್ದು, ಎಲ್ಲಾ ಡೊಮೇನ್ ನಿಯಂತ್ರಕರಲ್ಲಿ ಸಾದೃಶ್ಯ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಈ ರೆಪೊದಲ್ಲಿ ಉಲ್ಲೇಖಿತ ಅನುಷ್ಠಾನ (GPO ವರದಿ):
- ಆರ್ಕೈವ್/ವರದಿ ಹೆಸರು:
T0-C-Analytics-DNSDebugLogging - ಬ್ಯಾಕಪ್ ID:
{2B6F16BC-0E7C-4787-83D7-2854FED882EE} - GPO ಲಿಂಕ್ ಗುರಿ:
corp.company.com/Domain Controllers - ಐಟಂ ಫಿಲ್ಟರ್ (ಫೈಲ್ ನಿಯೋಜನೆ ಮತ್ತು ಶೆಡ್ಯೂಲ್ಡ್ ಟಾಸ್ಕ್ ಎರಡಕ್ಕೂ):
C:\Windows\System32\dns.exe ಇದ್ದರೆ ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತದೆ
1) ಪೂರ್ವಾಪೇಕ್ಷೆಗಳು (ಫೋಲ್ಡರ್ಗಳು + ಮೋಡ್ಯೂಲ್)
ನೀಡಲಾದ ಬ್ಯಾಕಪ್ ಈ ಫೋಲ್ಡರ್ಗಳು ಈಗಾಗಲೇ ಇವೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ನೀವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೃಷ್ಟಿಸಲು ಬಯಸಿದರೆ ಪ್ರತ್ಯೇಕ GPP ಐಟಂಗಳನ್ನು ಸೇರಿಸಿ:
C:\Administration\ScriptsC:\Administration\Logs\DNSServer
ನೀಡಲಾದ ಬ್ಯಾಕಪ್ Convert-DNSDebugLogFile DCಗಳ ಮೇಲೆ ಈಗಾಗಲೇ ಲಭ್ಯವಿದೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ಪರಿವರ್ತನೆ ಟಾಸ್ಕ್ ವಿಂಡೋಸ್ ಪವರ್ಶೆಲ್ 5.1 ಅನ್ನು -NoProfile ಜೊತೆಗೆ ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ಮೋಡ್ಯೂಲ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಆಮದು ಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಮೋಡ್ಯೂಲ್ LocalSystem ಗೆ ಕಾಣುವ ಯಂತ್ರ-ವ್ಯಾಪ್ತಿಯ ವಿಂಡೋಸ್ ಪವರ್ಶೆಲ್ ಮೋಡ್ಯೂಲ್ ಪಥದಲ್ಲಿ ಸ್ಥಾಪಿತವಾಗಿರಬೇಕು. ಶಿಫಾರಸು ಮಾಡಿದ ವಿಧಾನಗಳು:
- DNSServer.DebugLogParser ಅನ್ನು DCಗಳ ಮೇಲೆ ಸ್ಥಾಪಿಸಿ. ಉದಾಹರಣೆಗೆ, ಪಾಲಿಸಿ ಅನುಮತಿಸಿದರೆ PowerShell Gallery ನಿಂದ.
- ಆಂತರಿಕ ರೆಪೊ / ಫೈಲ್ ಶೇರ್ ಮೂಲಕ ಮೋಡ್ಯೂಲ್ ಅನ್ನು ನಿಯೋಜಿಸಿ, ಇದರಿಂದ ಅದು
$env:PSModulePath ನಲ್ಲಿ ಕಂಡುಬರುತ್ತದೆ - ನಿರ್ಧಿಷ್ಟ ಲೋಡಿಂಗ್ ವರ್ತನೆಗಾಗಿ ಟಾಸ್ಕ್ ಕ್ರಿಯೆಗೆ ಸ್ಪಷ್ಟ
Import-Module ಸೇರಿಸಿ
2) ಡಿಬಗ್ ಲಾಗಿಂಗ್ ಕಾನ್ಫಿಗರೇಶನ್ ಸ್ಕ್ರಿಪ್ಟ್ ನಿಯೋಜನೆ (GPP ಫೈಲ್ಗಳು)
GPO ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ:
- ಮೂಲ (SYSVOL ನಲ್ಲಿ GPP ಮೂಲಕ):
%GptPath%\Preferences\Files\Set-DNSServerDebugLogging.ps1 - ಗುರಿ (ಪ್ರತಿ DCಯಲ್ಲಿ):
C:\Administration\Scripts\Set-DNSServerDebugLogging.ps1
ಇದು Files.xml ನಲ್ಲಿ GPP ಫೈಲ್ ಪ್ರಿಫರೆನ್ಸ್ ಐಟಂನಲ್ಲಿ ಅನುಷ್ಠಾನಗೊಳಿಸಲಾಗಿದೆ.
3) ಶೆಡ್ಯೂಲ್ಡ್ ಟಾಸ್ಕ್: DNS ಡಿಬಗ್ ಲಾಗಿಂಗ್ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು
GPO Set-DNSServerDebugLogging ಎಂಬ ಶೆಡ್ಯೂಲ್ಡ್ ಟಾಸ್ಕ್ ರಚಿಸುತ್ತದೆ.
- ನೀಡಲಾದ ಬ್ಯಾಕಪ್ನಲ್ಲಿನ ಭದ್ರತಾ ಸಂದರ್ಭ:
SYSTEM ಲಾಗಿನ್ ಪ್ರಕಾರ S4U - ನೀಡಲಾದ ಬ್ಯಾಕಪ್ನಲ್ಲಿನ ಟ್ರಿಗರ್: ದೈನಂದಿನ (ಆರಂಭ ಗಡಿಭಾಗ
2025-03-01T00:00:01) - ScheduledTasks.xml ನಲ್ಲಿ ಕ್ರಿಯೆ:
powershell.exe -ExecutionPolicy RemoteSigned -command " & { C:\Administration\Scripts\Set-DNSServerDebugLogging.ps1 }"- ಕಾರ್ಯನಿರ್ವಹಣಾ ಡೈರೆಕ್ಟರಿ:
C:\Administration\Scripts
ಲಿಂಕ್ ಮಾಡಲಾದ Set-DNSServerDebugLogging.ps1 ಸ್ಕ್ರಿಪ್ಟ್ Get-DnsServerDiagnostics / Set-DnsServerDiagnostics ಮೂಲಕ DNS ಡಿಬಗ್ ಲಾಗಿಂಗ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತದೆ ಮತ್ತು (ಪ್ರಮುಖವಾಗಿ):
- ಫೈಲ್ಗೆ ಲಾಗ್ ಮಾಡುವುದು ಮತ್ತು ರೋಲ್ಓವರ್ ಸಕ್ರಿಯಗೊಳಿಸುವುದು
- ಬರೆಯುವುದು:
C:\Administration\Logs\DNSServer\DnsDebugLog_<COMPUTERNAME>.<Domain>_.log - ಪ್ರತಿ ಫೈಲ್ಗೆ 10 MB ರೋಲ್ಓವರ್ ಗಾತ್ರವನ್ನು ಬಳಸುವುದು
- ಮುಖ್ಯವಾಗಿ ಕ್ವೆರಿಗಳ ಸಂಬಂಧಿತ ಚಟುವಟಿಕೆಗಳನ್ನು ಸೆರೆಹಿಡಿಯುವುದು (ಕ್ವೆರಿಗಳು + ನೋಟಿಫಿಕೇಶನ್ಗಳು + ಅಪ್ಡೇಟುಗಳು + ಪ್ರಶ್ನೆ ವ್ಯವಹಾರಗಳು) ಮತ್ತು ಸಂಪೂರ್ಣ ಪ್ಯಾಕೆಟ್ ಲಾಗಿಂಗ್ ಅನ್ನು ಹೊರತುಪಡಿಸುವುದು
4) ಶೆಡ್ಯೂಲ್ಡ್ ಟಾಸ್ಕ್: ತಿರುಗಿದ ಡಿಬಗ್ ಲಾಗ್ಗಳನ್ನು ಸಂಕುಚಿತ CSVಗೆ ಪರಿವರ್ತಿಸುವುದು
GPO Convert-DNSDebugLogs ಎಂಬ ಶೆಡ್ಯೂಲ್ಡ್ ಟಾಸ್ಕ್ ರಚಿಸುತ್ತದೆ.
- ನೀಡಲಾದ ಬ್ಯಾಕಪ್ನಲ್ಲಿನ ಭದ್ರತಾ ಸಂದರ್ಭ:
SYSTEM ಲಾಗಿನ್ ಪ್ರಕಾರ InteractiveToken - ನೀಡಲಾದ ಬ್ಯಾಕಪ್ನಲ್ಲಿನ ಟ್ರಿಗರ್: ದೈನಂದಿನ (ಆರಂಭ ಗಡಿಭಾಗ
2026-01-01T00:30:00) - ಕಾರ್ಯನಿರ್ವಹಣಾ ಡೈರೆಕ್ಟರಿ:
C:\Administration\Logs\DNSServer - ScheduledTasks.xml ನಲ್ಲಿ ಕ್ರಿಯೆ (ಓದಲು ಸುಲಭವಾಗುವಂತೆ ರೂಪಿಸಲಾಗಿದೆ):
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
ಡಿಸೈನ್ ಟಿಪ್ಪಣಿಗಳು:
Select-Object -Skip 1 ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಹೊಸ (ಸಕ್ರಿಯ) ಲಾಗ್ ಫೈಲ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.- ಇದರರ್ಥ ಪ್ರಸ್ತುತ ಡೇಟಾ ಮಾತ್ರ ರೋಲ್ಓವರ್ ನಂತರ ರಫ್ತು ಮಾಡಲಾಗುತ್ತದೆ; ಕಡಿಮೆ ವಾಲ್ಯೂಮ್ DCಗಳ ಮೇಲೆ ಸಕ್ರಿಯ ಲಾಗ್ ಒಂದು ದಿನಕ್ಕಿಂತ ಹೆಚ್ಚು ಪ್ರಕ್ರಿಯೆಗೆ ಒಳಗಾಗದಿರಬಹುದು.
- Convert-DNSDebugLogFile ಡೀಫಾಲ್ಟ್ ಆಗಿ
-OutputFile ಅನ್ನು “ಅದೇ ಫೋಲ್ಡರ್, ಅದೇ ಹೆಸರು, .csv” ಎಂದು ಹೊಂದಿರುವುದರಿಂದ ಔಟ್ಪುಟ್ಗಳು *.log ಇನ್ಪುಟ್ಗಳ ಪಕ್ಕದಲ್ಲೇ ಇರುತ್ತವೆ. -CompressOutput ಬಳಕೆದಾರ ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆ ಮಾಡಿದ ಲಾಗ್ಗೆ *.zip ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ಮತ್ತು ಮಧ್ಯಂತರ CSVಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.- ನೀವು ಪ್ರಕ್ರಿಯೆ ಮಾಡಿದ
*.log ಫೈಲ್ಗಳನ್ನು ಆರ್ಕೈವ್ ಅಥವಾ ಅಳಿಸುವವರೆಗೆ, ನಂತರದ ಓಟಗಳು ಪ್ರತಿಯೊಂದು ಸಕ್ರಿಯವಲ್ಲದ ಲಾಗ್ ಅನ್ನು ಮರುಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತವೆ. - ಟಾಸ್ಕ್
$Error.Count -gt 0 ಇದ್ದರೆ ತಪ್ಪು ಎಸೆಯುತ್ತದೆ, ಇದು ವಿಫಲ ಓಟವನ್ನು ಸೂಚಿಸುತ್ತದೆ.
5) ಕೇಂದ್ರಿತ ಇಂಜೆಸ್ಟನ್
ಆಯ್ಕೆಗಳು (ಒಂದು ಆಯ್ಕೆಮಾಡಿ):
- ಫೈಲ್ ಶೇರ್ ಇಂಜೆಸ್ಟನ್: DC
C:\Administration\Logs\DNSServer\*.zip ಅನ್ನು \\fileserver\share\dns\$env:COMPUTERNAME\... ಗೆ ಬರೆಯುತ್ತದೆ (ಅಥವಾ ನಕಲಿಸುತ್ತದೆ) (DC ಕಂಪ್ಯೂಟರ್ ಖಾತೆಗಳಿಗೆ ಅಥವಾ ಟಾಸ್ಕ್ SYSTEM ಆಗಿ ನಡೆಯುವಾಗ ಡೊಮೇನ್ ನಿಯಂತ್ರಕರು ಗುಂಪಿಗೆ ಶೇರ್ ಮತ್ತು NTFS ಹಕ್ಕುಗಳನ್ನು ನೀಡಿ) - ಪಲ್ಲಟ ಮಾದರಿ: ಕೇಂದ್ರ ಕೆಲಸ
\\dc\C$\Administration\Logs\DNSServer\*.zip ಓದುತ್ತದೆ (ಕಡಿಮೆ ಇಷ್ಟಪಡಲ್ಪಟ್ಟದ್ದು; ಆಡಳಿತ ಶೇರ್ಗಳನ್ನು ಅಗತ್ಯವಿದೆ) - ಏಜೆಂಟ್ ಫಾರ್ವರ್ಡರ್: SIEM / ಲಾಗ್ ಪೈಪ್ಲೈನ್
*.zip ಔಟ್ಪುಟ್ಗಳನ್ನು ಸಾಗಿಸುತ್ತದೆ
ಕಾರ್ಯಾಚರಣಾ ಪರಿಗಣನೆಗಳು
- ಕನಿಷ್ಠ ಹಕ್ಕು: ಟಾಸ್ಕ್ಗಳು
SYSTEM ಆಗಿ ನಡೆಯುತ್ತವೆ; ಸ್ಥಳೀಯ ಫೋಲ್ಡರ್ಗಳು ಬರೆಯಬಹುದಾಗಿರಬೇಕು ಮತ್ತು ಯಾವುದೇ UNC ಗುರಿಗಳು ಬಳಕೆಯಾದರೆ ಕಂಪ್ಯೂಟರ್ ಖಾತೆಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡಬೇಕು. - ಸಹಿ ನೀತಿ: ಎರಡೂ ಟಾಸ್ಕ್ಗಳು
-ExecutionPolicy RemoteSigned ಬಳಕೆ ಮಾಡುತ್ತವೆ; ನಿಯೋಜಿಸಲಾದ ಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ಮೋಡ್ಯೂಲ್ ಅನ್ನು ನಿಮ್ಮ ನೀತಿಯ ಪ್ರಕಾರ ಸಹಿ ಮಾಡಿರಿ ಅಥವಾ ಅನ್ಬ್ಲಾಕ್ ಮಾಡಿರಿ. - ಡಿಸ್ಕ್ ಬಳಕೆ:
-CompressOutput ಬಹುಮಾನವಾಗಿ ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಆದರೆ ಈ ವರ್ಕ್ಫ್ಲೋ ಮೂಲ ಲಾಗ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದಿಲ್ಲ; ರಿಟೆನ್ಷನ್ ಮತ್ತು ಕ್ಲೀನ್ಅಪ್ ಯೋಜಿಸಿ. - ಮರುಪ್ರಕ್ರಿಯೆ ವರ್ತನೆ: ನೀವು ಪ್ರಕ್ರಿಯೆ ಮಾಡಿದ ಲಾಗ್ಗಳನ್ನು ಆರ್ಕೈವ್ ಅಥವಾ ಅಳಿಸುವವರೆಗೆ, ಪರಿವರ್ತನೆ ಟಾಸ್ಕ್ ನಂತರದ ಓಟಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಸಕ್ರಿಯವಲ್ಲದ
*.log ಫೈಲ್ ಅನ್ನು ಮರುಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತದೆ. ಇದು ಸರಳ ಮತ್ತು ಬಲಿಷ್ಠವಾಗಿದೆ, ಆದರೆ ನಿಮ್ಮ ಸಂಗ್ರಹಕ ಡ್ಯುಪ್ಲಿಕೇಟ್ಗಳನ್ನು ತಡೆಯದಿದ್ದರೆ ಔಟ್ಪುಟ್ಗಳನ್ನು ಮರುಬರೆಯಬಹುದು ಮತ್ತು ಡೌನ್ಸ್ಟ್ರೀಮ್ ಇಂಜೆಸ್ಟನ್ ನಕಲು ಆಗಬಹುದು. - ಬಹು-DC ಸಂಯೋಜನೆ:
-ComputerName $env:COMPUTERNAME ಸೇರಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಸಂಯೋಜಿತ ಡೇಟಾಸೆಟ್ಗಳು ಟ್ರೇಸಬಲ್ ಆಗಿರುತ್ತವೆ. - ಮಾನ್ಯತೆ: ಹೆಡರ್ ಮಾನ್ಯತೆ ಸಕ್ರಿಯವಾಗಿರುತ್ತದೆ ಏಕೆಂದರೆ ಟಾಸ್ಕ್
-SkipHeaderValidation ಬಳಸುವುದಿಲ್ಲ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ).
ಮಾನ್ಯತೆ ಮಾಡಿ ಮತ್ತು ಹೊಂದಿಸಿ (ZIP ಬಳಸಿ)
ಉಲ್ಲೇಖ ಅನುಷ್ಠಾನವಾಗಿ ZIP ಆರ್ಕೈವ್ ಅನ್ನು ಬಳಸಿ, ನಂತರ ಕೆಳಗಿನ ಅಂಶಗಳನ್ನು ನಿಮ್ಮ ಪರಿಸರಕ್ಕೆ ಹೊಂದಿಸಿ:
- ಗುರಿ ವ್ಯಾಪ್ತಿ: ಯಾವ DCಗಳು / OUಗಳು ಪಾಲಿಸಿಯನ್ನು ಪಡೆಯುತ್ತವೆ
- ಕಾರ್ಯಾಚರಣೆ ಗುರುತು: ಎರಡೂ ಶೆಡ್ಯೂಲ್ಡ್ ಟಾಸ್ಕ್ಗಳು ಉದ್ದೇಶಿತ ಲಾಗಿನ್ ಪ್ರಕಾರವನ್ನು (
S4U ವಿರುದ್ಧ InteractiveToken) ಬಳಸುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಅಥವಾ ನಿಮ್ಮ ಮಾನದಂಡಕ್ಕೆ ಹೊಂದಿಸಿ - ಫೋಲ್ಡರ್ ಸೃಷ್ಟಿ:
C:\Administration\Scripts ಮತ್ತು C:\Administration\Logs\DNSServer ಇತರಡೆ ಪೂರ್ವ-ಸ್ಥಾಪಿತವೋ ಅಥವಾ ಹೆಚ್ಚುವರಿ GPP ಐಟಂಗಳ ಮೂಲಕ ಸೃಷ್ಟಿಸಬೇಕೋ ನಿರ್ಧರಿಸಿ - ಮಾರ್ಗಗಳು:
C:\Administration\Scripts ಮತ್ತು C:\Administration\Logs\DNSServer ನಿಮ್ಮ ಮಾನದಂಡಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗಿವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ - ರಿಟೆನ್ಷನ್: ಕಚ್ಚಾ ಲಾಗ್ಗಳನ್ನು ಎಷ್ಟು ಕಾಲ ಇಡಬೇಕು ಎಂದು ನಿರ್ಧರಿಸಿ (ವಿಶೇಷವಾಗಿ ಕ್ಲೀನ್ಅಪ್ ಆಯ್ಕೆಗಳು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ)
- ಇಂಜೆಸ್ಟನ್: CSV/ZIP ಔಟ್ಪುಟ್ಗಳು ಎಲ್ಲಿಗೆ ಬರೆಯಲ್ಪಡುತ್ತವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಕೇಂದ್ರಿತವಾಗಿ ಹೇಗೆ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ
ನೀವು GPO ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಆಮದು ಮಾಡದೆ ನಿಖರವಾಗಿ ಪರಿಶೀಲಿಸಲು ಬಯಸಿದರೆ, ಈ ರೆಪೊದಲ್ಲಿ ಪ್ರಾಮಾಣಿಕ ಮೂಲಗಳು:
6.2 - SQL ಸರ್ವರ್ನೊಂದಿಗೆ ಭದ್ರತಾ ವಿಶ್ಲೇಷಣೆ ಕಾರ್ಯಪ್ರವಾಹ
DNSServer.DebugLogParser ಬಳಸಿ DNS ಡಿಬಗ್ ಲಾಗ್ಗಳನ್ನು CSV ಗೆ ಪರಿವರ್ತಿಸಿ, ಫಲಿತಾಂಶವನ್ನು SQL ಸರ್ವರ್ಗೆ ಆಮದು ಮಾಡಿ, ಮತ್ತು ಅನುಮಾನಾಸ್ಪದ TXT ದಾಖಲೆ ಚಟುವಟಿಕೆಗೆ ಸರಳ ಪತ್ತೆ ಪ್ರಶ್ನೆಯನ್ನು ನಡೆಸಿ.
ಈ ಉದಾಹರಣೆ ಭದ್ರತಾ ವಿಶ್ಲೇಷಣೆಯ ಪ್ರಾಯೋಗಿಕ ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ತೋರಿಸುತ್ತದೆ: Convert-DNSDebugLogFile ಬಳಸಿ DNS ಡಿಬಗ್ ಲಾಗ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ, ರಚಿಸಲಾದ CSV ಅನ್ನು SQL ಸರ್ವರ್ಗೆ ಆಮದು ಮಾಡಿ, ಮತ್ತು ಅಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚಿನ TXT ದಾಖಲೆ ಹುಡುಕಾಟಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡುವ ಪ್ರಶ್ನೆಯನ್ನು ನಡೆಸಿ.
ಉತ್ತಮ ಪರಸ್ಪರ ಕಾರ್ಯಕ್ಷಮತೆಯಿಗಾಗಿ, ಈ ಉದಾಹರಣೆ -OutputCulture 'sv-SE' ಬಳಸಿ ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ಗಳನ್ನು ISO-ಹಾಗೆ ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ ಬರೆಯುತ್ತದೆ.
ಅಗತ್ಯವಿರುವ ಮೋಡ್ಯೂಲ್ಗಳು
ಈ ಉದಾಹರಣೆ ಕೆಳಗಿನ PowerShell ಮೋಡ್ಯೂಲ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ:
DNSServer.DebugLogParserSqlServer
ಅವಶ್ಯಕತೆ ಇದ್ದರೆ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ:
Install-Module -Name DNSServer.DebugLogParser -Scope CurrentUser
Install-Module -Name SqlServer -Scope CurrentUser
ದೃಶ್ಯಾವಳಿ
ಪಾರ್ಸ್ ಮಾಡಿದ DNS ಡಿಬಗ್ ಲಾಗ್ ಡೇಟಾವನ್ನು SQL ಸರ್ವರ್ಗೆ ಸ್ಥಳಾಂತರಿಸಲು ಈ ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ಬಳಸಿ, ಇದರಿಂದ ನೀವು:
- ದೊಡ್ಡ ಡೇಟಾಸೆಟ್ಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಹುಡುಕಬಹುದು
- ಪುನರಾವರ್ತನೀಯ ಪತ್ತೆ ಪ್ರಶ್ನೆಗಳನ್ನು ರಚಿಸಬಹುದು
- ಹಲವಾರು DNS ಸರ್ವರ್ಗಳ ಚಟುವಟಿಕೆಯನ್ನು ಸಂಯೋಜಿಸಬಹುದು
- ನಂತರದ ತನಿಖೆಗೆ ಸಾಮಾನ್ಯೀಕೃತ ಡೇಟಾವನ್ನು ಉಳಿಸಬಹುದು
ಪರಿವರ್ತನೆ ಹಂತದ ಔಟ್ಪುಟ್
Convert-DNSDebugLogFile ನೇರವಾಗಿ SQL ಸರ್ವರ್ಗೆ ಬರೆಯುವುದಿಲ್ಲ. ಮೊದಲು ಇದು CSV ಫೈಲ್ ರಚಿಸುತ್ತದೆ. ಆ CSV ಫೈಲ್ ಅನ್ನು ಡೇಟಾಬೇಸ್ಗೆ ಆಮದು ಮಾಡಲಾಗುತ್ತದೆ.
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ:
- ಇನ್ಪುಟ್ ಲಾಗ್:
C:\Administration\Logs\DNS\dns.log - ರಚಿಸಲಾದ CSV:
C:\Administration\Logs\DNS\dns.csv - ಗಮ್ಯಸ್ಥಾನ ಟೇಬಲ್:
dbo.DNSQueries
ಗಮ್ಯಸ್ಥಾನ ಟೇಬಲ್ ರಚಿಸಿ
ಗಮ್ಯಸ್ಥಾನ ಟೇಬಲ್ ರಚಿಸಲು SQL ಸರ್ವರ್ನಲ್ಲಿ ಕೆಳಗಿನ ಸ್ಟೇಟ್ಮೆಂಟ್ ಅನ್ನು ಒಮ್ಮೆ ಚಲಾಯಿಸಿ.
IF OBJECT_ID('dbo.DNSQueries', 'U') IS NULL
BEGIN
CREATE TABLE dbo.DNSQueries (
DateTime datetime2(0) NOT NULL,
ThreadId int NULL,
Context nvarchar(20) NULL,
PacketId int NULL,
Protocol nvarchar(10) NULL,
Direction nvarchar(10) NULL,
ClientIP nvarchar(64) NULL,
Xid nvarchar(16) NULL,
Type nvarchar(16) NULL,
Opcode nvarchar(16) NULL,
FlagsHex nvarchar(16) NULL,
FlagsChar nvarchar(16) NULL,
ResponseCode nvarchar(32) NULL,
QuestionType nvarchar(32) NULL,
QuestionName nvarchar(512) NULL,
Information nvarchar(max) NULL,
Details nvarchar(max) NULL,
ComputerName nvarchar(256) NULL
);
END;
ಲಾಗ್ ಅನ್ನು ಪರಿವರ್ತಿಸಿ ಮತ್ತು CSV ಅನ್ನು ಆಮದು ಮಾಡಿ
ಕೆಳಗಿನ PowerShell ಉದಾಹರಣೆ ಸಂಪೂರ್ಣ ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:
- ಅಗತ್ಯವಿರುವ ಮೋಡ್ಯೂಲ್ಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ
- DNS ಡಿಬಗ್ ಲಾಗ್ ಅನ್ನು CSV ಗೆ ಪರಿವರ್ತಿಸಿ
- ರಚಿಸಲಾದ CSV ಅನ್ನು ಲೋಡ್ ಮಾಡಿ
- ಸಾಲುಗಳನ್ನು SQL ಸರ್ವರ್ಗೆ ಬಲ್ಕ್ ಆಮದು ಮಾಡಿ
# Requires -Modules DNSServer.DebugLogParser, SqlServer
Import-Module -Name DNSServer.DebugLogParser -ErrorAction Stop
Import-Module -Name SqlServer -ErrorAction Stop
$logPath = 'C:\Administration\Logs\DNS\dns.log'
$csvPath = 'C:\Administration\Logs\DNS\dns.csv'
$serverInstance = 'SQLServer'
$databaseName = 'DNSLogs'
$delimiter = ';'
$createTableSql = @'
IF OBJECT_ID('dbo.DNSQueries', 'U') IS NULL
BEGIN
CREATE TABLE dbo.DNSQueries (
DateTime datetime2(0) NOT NULL,
ThreadId int NULL,
Context nvarchar(20) NULL,
PacketId int NULL,
Protocol nvarchar(10) NULL,
Direction nvarchar(10) NULL,
ClientIP nvarchar(64) NULL,
Xid nvarchar(16) NULL,
Type nvarchar(16) NULL,
Opcode nvarchar(16) NULL,
FlagsHex nvarchar(16) NULL,
FlagsChar nvarchar(16) NULL,
ResponseCode nvarchar(32) NULL,
QuestionType nvarchar(32) NULL,
QuestionName nvarchar(512) NULL,
Information nvarchar(max) NULL,
Details nvarchar(max) NULL,
ComputerName nvarchar(256) NULL
);
END
'@
Convert-DNSDebugLogFile `
-InputFile $logPath `
-ComputerName 'DNS01' `
-OutputType CSV `
-OutputFile $csvPath `
-Delimiter $delimiter `
-OutputCulture 'sv-SE'
$rows = Import-Csv -Path $csvPath -Delimiter $delimiter
if (-not $rows) {
throw "The generated CSV file '$csvPath' does not contain any rows."
}
$dataTable = [System.Data.DataTable]::new()
foreach ($columnName in $rows[0].PSObject.Properties.Name) {
$null = $dataTable.Columns.Add($columnName, [string])
}
foreach ($row in $rows) {
$dataRow = $dataTable.NewRow()
foreach ($column in $dataTable.Columns) {
$columnName = $column.ColumnName
$dataRow[$columnName] = $row.$columnName
}
$null = $dataTable.Rows.Add($dataRow)
}
$connectionString = "Server=$serverInstance;Database=$databaseName;Integrated Security=True"
$connection = [System.Data.SqlClient.SqlConnection]::new($connectionString)
try {
$connection.Open()
$command = $connection.CreateCommand()
$command.CommandText = $createTableSql
$null = $command.ExecuteNonQuery()
$bulkCopy = [System.Data.SqlClient.SqlBulkCopy]::new($connection)
$bulkCopy.DestinationTableName = 'dbo.DNSQueries'
foreach ($column in $dataTable.Columns) {
$null = $bulkCopy.ColumnMappings.Add($column.ColumnName, $column.ColumnName)
}
$bulkCopy.WriteToServer($dataTable)
}
finally {
$connection.Dispose()
}
ಅನುಮಾನಾಸ್ಪದ TXT ದಾಖಲೆ ಚಟುವಟಿಕೆಗಾಗಿ ಪ್ರಶ್ನೆ
ಡೇಟಾ SQL ಸರ್ವರ್ನಲ್ಲಿ ಇದ್ದಾಗ, ನೀವು ಅಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚಿನ TXT ದಾಖಲೆ ಪ್ರಶ್ನೆಗಳನ್ನು ಮಾಡುವ ಕ್ಲೈಂಟ್ಗಳನ್ನು ಹುಡುಕಬಹುದು.
SELECT
ComputerName,
ClientIP,
QuestionName,
COUNT(*) AS QueryCount
FROM dbo.DNSQueries
WHERE QuestionType = 'TXT'
GROUP BY
ComputerName,
ClientIP,
QuestionName
HAVING COUNT(*) > 100
ORDER BY QueryCount DESC;
ನೀವು PowerShell ನಿಂದ ಪ್ರಶ್ನೆಯನ್ನು ನಡೆಸಲು ಇಚ್ಛಿಸಿದರೆ, SqlServer ಮೋಡ್ಯೂಲ್ನಿಂದ Invoke-Sqlcmd ಬಳಸಿ:
$query = @'
SELECT
ComputerName,
ClientIP,
QuestionName,
COUNT(*) AS QueryCount
FROM dbo.DNSQueries
WHERE QuestionType = 'TXT'
GROUP BY
ComputerName,
ClientIP,
QuestionName
HAVING COUNT(*) > 100
ORDER BY QueryCount DESC;
'@
Invoke-Sqlcmd `
-ServerInstance 'SQLServer' `
-Database 'DNSLogs' `
-Query $query
TXT ಪ್ರಶ್ನೆಗಳು ಆಸಕ್ತಿದಾಯಕವಾಗಿರುವ ಕಾರಣ
ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ TXT ದಾಖಲೆ ಹುಡುಕಾಟಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು ಉಪಯುಕ್ತ, ಏಕೆಂದರೆ ಅವು ಸೂಚಿಸಬಹುದು:
- DNS ಟನ್ನಲಿಂಗ್
- DNS ಮೂಲಕ ಡೇಟಾ ಹೊರಹೋಗುವಿಕೆ
- ಮ್ಯಾಲ್ವೇರ್ ಅಥವಾ ಉಪಕರಣಗಳಿಂದ TXT ದಾಖಲೆಗಳ ದುರುಪಯೋಗ
- ಅಸಾಮಾನ್ಯವಾಗಿ ಶಬ್ದಮಯ ಅಥವಾ ತಪ್ಪಾಗಿ ಸಂರಚಿತ ಕ್ಲೈಂಟ್ಗಳು
ಈ ಪ್ರಶ್ನೆ ಕೇವಲ ಪ್ರಾರಂಭಬಿಂದುವಾಗಿದೆ. ಉತ್ಪಾದನೆಯಲ್ಲಿ, ನೀವು ಗಡಿ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸಬೇಕು ಮತ್ತು ನಿಮ್ಮ ಪರಿಸರಕ್ಕೆ ಹೊಂದುವಂತೆ ಫಿಲ್ಟರ್ಗಳನ್ನು ಸೇರಿಸಬೇಕು.
ಕಾರ್ಯಾಚರಣಾ ಟಿಪ್ಪಣಿಗಳು
Import-Csv ಸಂಪೂರ್ಣ ಫೈಲ್ ಅನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಓದುತ್ತದೆ. ಬಹಳ ದೊಡ್ಡ ಲಾಗ್ ರಫ್ತುಗಳಿಗೆ, ಸಂಪೂರ್ಣ DataTable ರಚಿಸುವ ಬದಲು ಸ್ಟ್ರೀಮಿಂಗ್ ವಿಧಾನವನ್ನು ಪರಿಗಣಿಸಿ.- ಪರಿವರ್ತನೆ ಹಂತದಲ್ಲಿ
-ComputerName ಉಳಿಸಿ, ಇದರಿಂದ ಕೇಂದ್ರಿತ ಆಮದು ನಂತರ ದಾಖಲೆಗಳನ್ನು ಗುರುತಿಸಬಹುದು. - ರಫ್ತು ಮತ್ತು ಆಮದು ಸಮಯದಲ್ಲಿ ಸತತ ಡಿಲಿಮಿಟರ್ ಮತ್ತು ಸಂಸ್ಕೃತಿಯನ್ನು ಬಳಸಿ.
- ದೀರ್ಘಕಾಲಿಕ ಸಂಗ್ರಹಣೆಗೆ ಈ ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ಬಳಸುವ ಮೊದಲು SQL ಸರ್ವರ್ನಲ್ಲಿ ಉಳಿಸುವಿಕೆ, ಸೂಚ್ಯಂಕ ಮತ್ತು ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ಪರಿಶೀಲಿಸಿ.