ಈ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಬಗ್ಗೆ

ಇದು DNSServer.DebugLogParserಗಾಗಿ ಅಧಿಕೃತ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಸೈಟ್, ಇದು ವಿಂಡೋಸ್ DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ ಫೈಲ್‌ಗಳನ್ನು ರಚನಾತ್ಮಕ, ವಿಶ್ಲೇಷಣೀಯ CSV ಡೇಟಾಗಾಗಿ ಪರಿವರ್ತಿಸುವ PowerShell ಮೋಡ್ಯೂಲ್ ಆಗಿದೆ.

ಮೋಡ್ಯೂಲ್ ಬಗ್ಗೆ

DNSServer.DebugLogParser ನಿಜವಾದ ಅಗತ್ಯದಿಂದ ಹುಟ್ಟಿಕೊಂಡಿದೆ: ವಿಂಡೋಸ್ DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್‌ಗಳು ಮಾನವ ಓದಲು ಸೂಕ್ತವಾದ ಪಠ್ಯವಾಗಿವೆ, ಆದರೆ ವಿಶ್ಲೇಷಣೆ ಅಥವಾ ವರದಿಗೊಳಿಸುವಿಕೆಗೆ ಅನುಕೂಲಕರವಲ್ಲ. ಈ ಮೋಡ್ಯೂಲ್ ಕಚ್ಚಾ ಲಾಗ್ ಫೈಲ್‌ಗಳನ್ನು ರಚನಾತ್ಮಕ CSV ಸ್ವರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸುವ ಮೂಲಕ ಆ ಅಂತರವನ್ನು ತುಂಬುತ್ತದೆ, ಇದು ಸಾಮಾನ್ಯ ಉಪಕರಣಗಳಾದ Excel, Power BI, SQL ಡೇಟಾಬೇಸ್‌ಗಳು ಮತ್ತು SIEM ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ.

ಪ್ರಮುಖ ವಿನ್ಯಾಸ ತತ್ವಗಳು:

  • ಕಾರ್ಯಕ್ಷಮತೆ ಮೊದಲು — ಸ್ಟ್ರೀಮಿಂಗ್ I/O ಮತ್ತು ಸ್ಟ್ರಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು 100MB+ ಫೈಲ್‌ಗಳಿಗೆ ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ
  • ಕ್ರಾಸ್-ಎಡಿಷನ್ ಹೊಂದಾಣಿಕೆ — PowerShell ಡೆಸ್ಕ್‌ಟಾಪ್ (5.1+) ಮತ್ತು ಕೋರ್ (7.x) ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ
  • ಉತ್ಪಾದನಾ-ತಯಾರಾಗಿರುವುದು — ಹೆಡರ್ ಮಾನ್ಯತೆ, ದೋಷ ನಿರ್ವಹಣೆ ಮತ್ತು ಐಚ್ಛಿಕ ಸಂಕುಚಿತಗೊಳಿಸುವಿಕೆಯನ್ನು ಒಳಗೊಂಡಿದೆ
  • ಪೈಪ್‌ಲೈನ್-ಸ್ನೇಹಿ — PowerShell ನ ಪೈಪ್‌ಲೈನ್ ವಾಸ್ತುಶಿಲ್ಪದೊಂದಿಗೆ ಸಹಜವಾಗಿ ಸಂಯೋಜಿಸುತ್ತದೆ

ಇಲ್ಲಿ ಏನು ಇದೆ

ವಿಭಾಗಯಾವಾಗ ಓದಬೇಕು
ಸಾರಾಂಶನೀವು ಮೋಡ್ಯೂಲ್ ಏನು ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದು ನಿಮ್ಮ ಸಮಸ್ಯೆಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸುವಾಗ
ಔಟ್‌ಪುಟ್ ಸ್ವರೂಪಗಳುಪೈಪ್‌ಲೈನ್ ವಿನ್ಯಾಸಗೊಳಿಸುವ ಮೊದಲು CSV ಕಾಲಮ್‌ಗಳ ಅರ್ಥ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದಾಗ
ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳುನಿಮ್ಮ ಪರಿವರ್ತನೆಗೆ ಯಾವ ಸ್ವಿಚ್‌ಗಳು ಬೇಕು ಎಂದು ನಿರ್ಧರಿಸುತ್ತಿದ್ದಾಗ
ಕಾರ್ಯಕ್ಷಮತೆನಿಮ್ಮ ಲಾಗ್‌ಗಳು ದೊಡ್ಡದಾಗಿದ್ದಾಗ ಅಥವಾ ನಿಮ್ಮ ಪರಿವರ್ತನೆ ನಿರೀಕ್ಷಿತಕ್ಕಿಂತ ನಿಧಾನವಾಗಿದ್ದಾಗ
ಸಂಯೋಜನೆನೀವು ಫಲಿತಾಂಶಗಳನ್ನು Excel, Power BI, SQL, SIEM ಅಥವಾ Python ಗೆ ಲೋಡ್ ಮಾಡುತ್ತಿದ್ದಾಗ
ಆಪರೇಷನಲ್ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳುನೀವು ಇದನ್ನು ಉತ್ಪಾದನೆಯಲ್ಲಿ ನಿರೀಕ್ಷಣೆಯಿಲ್ಲದೆ ಚಾಲನೆ ಮಾಡಲಿದ್ದಾಗ
ಬಳಕೆ ಉದಾಹರಣೆಗಳುನೀವು ಹೊಂದಿಕೊಳ್ಳಲು ಪೂರ್ಣಾಂಶದ ಕಾರ್ಯಗತ ಉದಾಹರಣೆ ಬೇಕಾದಾಗ
ಸಮಸ್ಯೆ ಪರಿಹಾರಏನಾದರೂ ನಿರೀಕ್ಷೆಯಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿಲ್ಲದಿದ್ದಾಗ
ಕಮಾಂಡ್ ರೆಫರೆನ್ಸ್ನಿಮಗೆ ಅಧಿಕೃತ ಪ್ಯಾರಾಮೀಟರ್ ಪಟ್ಟಿ ಬೇಕಾದಾಗ

ಮೋಡ್ಯೂಲ್‌ಗೆ ಹೊಸದಾಗಿ ಬಂದಿದ್ದೀರಾ? ಸಾರಾಂಶ ನಿಂದ ಪ್ರಾರಂಭಿಸಿ.

ಸಂಪನ್ಮೂಲಗಳು

ಕೊಡುಗೆ ನೀಡುವುದು

ಕೊಡುಗೆಗಳನ್ನು ಸ್ವಾಗತಿಸಲಾಗುತ್ತದೆ. ನೀವು ಸಮಸ್ಯೆಗಳು, ದೋಷಗಳು ಕಂಡುಹಿಡಿದಿದ್ದರೆ ಅಥವಾ ಸುಧಾರಣೆಗಾಗಿ ಸಲಹೆಗಳು ಇದ್ದರೆ, ದಯವಿಟ್ಟು GitHub ರೆಪೊ ನಲ್ಲಿ ಸಮಸ್ಯೆ ಅಥವಾ ಪುಲ್ ರಿಕ್ವೆಸ್ಟ್ ತೆರೆಯಿರಿ.

1 - ಅವಲೋಕನ

DNSServer.DebugLogParser ಏನು ಮಾಡುತ್ತದೆ, ವಿಂಡೋಸ್ DNS ಡಿಬಗ್ ಲಾಗ್ ಹೇಗಿರುತ್ತದೆ, ಮತ್ತು ಅದನ್ನು CSV ಗೆ ಪರಿವರ್ತಿಸುವುದು ಯಾವಾಗ ಪ್ರಯೋಜನಕಾರಿಯಾಗಿದೆ.

Windows DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ ಬರೆಯಬಹುದು. ಇದು ಸರಳ ಪಠ್ಯ ಕಡತವಾಗಿದ್ದು, ಮಾನವನ ಓದಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ, ಮತ್ತು ಬ್ಯುಸಿ ಡೊಮೇನ್ ಕಂಟ್ರೋಲರ್‌ನಲ್ಲಿ ಪ್ರತಿದಿನವೂ ನೂರಾರು ಮೆಗಾಬೈಟ್‌ಗಳಷ್ಟು ವೃದ್ಧಿಯಾಗುತ್ತದೆ. ಈ ಸಂಯೋಜನೆ ನಿಮಗೆ “ಈ ಡೊಮೇನ್‌ಗೆ ಈ ಕ್ಲೈಂಟ್ ಕಳೆದ ರಾತ್ರಿ 40,000 ಬಾರಿ ಕೇಳಿದೆಯೇ?” ಎಂಬ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸಲು ತಕ್ಷಣವೇ ಅಪ್ರಯೋಜನಕಾರಿಯಾಗಿದೆ.

DNSServer.DebugLogParser ಆ ಪಠ್ಯ ಕಡತವನ್ನು CSV ಪಟ್ಟಿಯಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಒಂದು ಲಾಗ್ ಸಾಲು ಒಂದು ಸಾಲಾಗಿ, ಹೆಸರಿಸಲಾದ ಕಾಲಮ್‌ಗಳೊಂದಿಗೆ ಆಗುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಅದನ್ನು Excel ನಲ್ಲಿ ತೆರೆಯಬಹುದು, Power BI ಗೆ ಲೋಡ್ ಮಾಡಬಹುದು, SQL ಸರ್ವರ್‌ಗೆ ಬಲ್ಕ್ ಇನ್‌ಸರ್ಟ್ ಮಾಡಬಹುದು ಅಥವಾ ನಿಮ್ಮ SIEM ಗೆ ಕಳುಹಿಸಬಹುದು.

ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ ಒಂದು ಕಮಾಂಡ್ ಮಾತ್ರ ಇದೆ:

Convert-DNSDebugLogFile -InputFile "C:\Windows\System32\dns\dns.log"

ಇದು ಸಂಪೂರ್ಣ ಪ್ರವೇಶ ಬಿಂದುವಾಗಿದೆ. ಈ ಸೈಟ್‌ನ ಉಳಿದ ಭಾಗವು ಇದನ್ನು ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ, ವೇಳಾಪಟ್ಟಿಯಲ್ಲಿ ಮತ್ತು ಹಲವಾರು ಸರ್ವರ್‌ಗಳಲ್ಲಿ ಹೇಗೆ ಮಾಡುವುದು ಎಂಬುದರ ಬಗ್ಗೆ.

DNS ಡಿಬಗ್ ಲಾಗ್ ಹೇಗಿರುತ್ತದೆ

ಒಂದು ಕಚ್ಚಾ ಎಂಟ್ರಿ ಒಂದು ಸಾಲು, ಸ್ಥಾನಾನುಕ್ರಮಿತ ಕ್ಷೇತ್ರಗಳೊಂದಿಗೆ, ಕೆಲವು ಬ್ರಾಕೆಟ್‌ಗಳಲ್ಲಿ ಇರುತ್ತವೆ:

2026-01-20 23:00:16 0FE0 PACKET 000002C53117D990 UDP Rcv 10.0.0.2 c049 Q [0001 D NOERROR] A (3)odc(9)officeapps(4)live(3)com(0)

ಪರಿವರ್ತನೆಯ ನಂತರ, ಅದೇ ಘಟನೆ ಒಂದು CSV ಸಾಲಾಗಿ ಆಗುತ್ತದೆ, ನೀವು ಫಿಲ್ಟರ್ ಮತ್ತು ಸೋರ್ಟ್ ಮಾಡಬಹುದು:

DateTime;ThreadId;Context;PacketId;Protocol;Direction;ClientIP;Xid;Type;Opcode;FlagsHex;FlagsChar;ResponseCode;QuestionType;QuestionName;Information;Details;ComputerName
2026-01-20 23:00:16;0FE0;Packet;000002C53117D990;UDP;Rcv;10.0.0.2;c049;Query;Standard;0001;RecursionDesired;NOERROR;A;"odc.officeapps.live.com";"";"";dc01

ಕಚ್ಚಾ ಫಾರ್ಮ್ಯಾಟ್ ಕಷ್ಟಕರವಾಗಿಸುವ ಮತ್ತು ಪಾರ್ಸರ್ ನಿಮಗಾಗಿ ನಿರ್ವಹಿಸುವ ಎರಡು ವಿಷಯಗಳು:

  • ಕೇಳಲಾದ ಹೆಸರು DNS ವೈರ್ ನೋಟೇಶನ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ, (3)odc(9)officeapps(4)live(3)com(0), ಮತ್ತು ಸಾಮಾನ್ಯ FQDN ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
  • ಒಂದು ಘಟನೆಯು ಯಾವಾಗಲೂ ಒಂದು ಸಾಲಾಗಿರದು. PACKET ವಿವರ ಬ್ಲಾಕ್‌ಗಳು ಮತ್ತು ಘಟನೆ ಸಂದೇಶಗಳು ಇಂದೆಂಟ್ ಮಾಡಿದ ಮುಂದುವರೆದ ಸಾಲುಗಳಲ್ಲಿ ಮುಂದುವರಿಯುತ್ತವೆ. ಪಾರ್ಸರ್ ಅವುಗಳನ್ನು ಸಂಬಂಧಿಸಿದ ದಾಖಲೆಗಳಿಗೆ ಜೋಡಿಸಿಕೊಂಡು ಇಡುತ್ತದೆ, ಬಿಟ್ಟುಬಿಡುವುದಿಲ್ಲ ಅಥವಾ ಅನಾಥ ಸಾಲುಗಳನ್ನು ಸೃಷ್ಟಿಸುವುದಿಲ್ಲ.

ಪ್ರತಿ ಎಂಟ್ರಿಯಲ್ಲಿ ಗರಿಷ್ಠ 16 ಮೂಲ ಕ್ಷೇತ್ರಗಳಿವೆ — ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್, ಪ್ರೋಟೋಕಾಲ್, ದಿಕ್ಕು, ಕ್ಲೈಂಟ್ IP, ಕ್ವೇರಿ ಪ್ರಕಾರ, ಕೇಳಲಾದ ಹೆಸರು, ಪ್ರತಿಕ್ರಿಯೆ ಕೋಡ್, ಫ್ಲಾಗ್‌ಗಳು ಮತ್ತು ಇನ್ನಷ್ಟು. ಸಂಪೂರ್ಣ ಕಾಲಮ್ ಪಟ್ಟಿ Output Formats ನಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ.

ಪರಿವರ್ತಿಸುವುದಕ್ಕೆ ಏಕೆ ಪ್ರಯತ್ನಿಸಬೇಕು

ಸಮಸ್ಯೆ ಪರಿಹಾರ

  • ಹೆಸರು ಪರಿಹರಿಸದ ಕಾರಣ ತಿಳಿದುಕೊಳ್ಳಿ ಮತ್ತು ಕ್ವೇರಿ ಸರ್ವರ್‌ಗೆ ತಲುಪಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ
  • ಸರ್ವರ್ ಮೇಲೆ ಹಲ್ಲೆ ಮಾಡುವ ತಪ್ಪಾಗಿ ಸಂರಚಿತ ಕ್ಲೈಂಟ್‌ಗಳು ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಗುರುತಿಸಿ
  • ಸಮಸ್ಯೆಯಾದ ಕ್ವೇರಿ ಎಲ್ಲಿ ಬಂದಿದೆಯೋ ಹಾದಿ ಹುಡುಕಿ
  • ಜೋನ್ ಟ್ರಾನ್ಸ್‌ಫರ್‌ಗಳು ಮತ್ತು ಸಾಮಾನ್ಯ DNS ವರ್ತನೆ ಪರಿಶೀಲಿಸಿ

ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಸಾಮರ್ಥ್ಯ

  • ಕ್ವೇರಿ ಪ್ರಮಾಣದ ಆಧಾರದ ಮೇಲೆ ಕ್ಲೈಂಟ್‌ಗಳನ್ನು ಶ್ರೇಣೀಕರಿಸಿ ಮತ್ತು ಗದ್ದಲದವರನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ
  • ನಿಮ್ಮ ಟ್ರಾಫಿಕ್‌ನಲ್ಲಿ ಯಾವ ದಾಖಲೆ ಪ್ರಕಾರಗಳು ಪ್ರಭುತ್ವ ಹೊಂದಿವೆ ನೋಡಿ
  • ತಪ್ಪಾಗಿ ಸಂರಚಿತ ಕಾರಣದಿಂದ ಉಂಟಾಗುವ ಅನಾವಶ್ಯಕ ಹುಡುಕಾಟಗಳನ್ನು ಗುರುತಿಸಿ
  • ಊಹಿಸುವ ಬದಲು ಸರ್ವರ್ ಲೋಡ್ ಅನ್ನು ಕಾಲಕ್ರಮದಲ್ಲಿ ಟ್ರ್ಯಾಕ್ ಮಾಡಿ

ಭದ್ರತಾ ವಿಶ್ಲೇಷಣೆ

  • DNS ಟನ್ನಲಿಂಗ್ ಮತ್ತು ಡೇಟಾ ಎಕ್ಸ್ಫಿಲ್ಟ್ರೇಶನ್ ಪತ್ತೆಮಾಡಿ (ಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚಿದ TXT ಟ್ರಾಫಿಕ್ ಆಗಿ ಕಾಣುತ್ತದೆ — SQL Server ವಿಶ್ಲೇಷಣೆಯ ಉದಾಹರಣೆ ನೋಡಿ)
  • ಮಾಲ್‌ವೇರ್ ಮತ್ತು ಕಮಾಂಡ್-ಅಂಡ್-ಕಂಟ್ರೋಲ್ ಡೊಮೇನ್‌ಗಳ ವಿರುದ್ಧ ಹುಡುಕಾಟಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ
  • ಒತ್ತಡಕ್ಕೊಳಗಾದ ಹೋಸ್ಟ್‌ನ ಕ್ವೇರಿ ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸಿ
  • DNS ಅಮ್ಪ್ಲಿಫಿಕೇಶನ್ ದುರುಪಯೋಗವನ್ನು ಗಮನಿಸಿ
  • ಘಟನೆ ಸಮಯದಲ್ಲಿ ಏನಾಯಿತು ಎಂಬುದನ್ನು ಪುನರ್ ನಿರ್ಮಿಸಿ

ಅನುಕೂಲತೆ ಮತ್ತು ಆಡಿಟಿಂಗ್

  • ಲಾಗಿಂಗ್ ಮತ್ತು ಸಂಗ್ರಹಣಾ ಬಾಧ್ಯತೆಗಳನ್ನು ಪೂರೈಸಿ
  • ನೆಟ್‌ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಆಡಿಟ್ ಟ್ರೇಲ್ ಇಡಿ
  • ನಿರ್ವಹಣೆ ಅಥವಾ ಆಡಿಟರ್‌ಗಳಿಗೆ ವರದಿಗಳನ್ನು ತಯಾರಿಸಿ

ಮಾಡ್ಯೂಲ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ

Convert-DNSDebugLogFile ಲಾಗ್ ಅನ್ನು ಸ್ಟ್ರೀಮ್ ಆಗಿ ಓದಿ CSV ಅನ್ನು ಸ್ಟ್ರೀಮ್ ಆಗಿ ಬರೆಯುತ್ತದೆ. ಫೈಲ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಮೆಮೊರಿಯಲ್ಲಿ ಲೋಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ 100 MB ಲಾಗ್ 10 MB ಲಾಗ್‌ನಷ್ಟು RAM ಅನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತದೆ. ವಿವರಗಳು Performance ನಲ್ಲಿ.

ನೀವು ಪಡೆಯುವವು:

ಸಾಮರ್ಥ್ಯವಿವರ
ಸತತ CSV ವಿನ್ಯಾಸ18 ಕಾಲಮ್‌ಗಳು, ಪ್ರತಿಯೊಮ್ಮೆ ಅದೇ ಕ್ರಮ, ಲಾಗ್‌ನಲ್ಲಿ ಯಾವ ಕಾಂಟೆಕ್ಸ್ಟ್‌ಗಳು ಬಂದರೂ
ಬಹು-ಸಾಲು ದಾಖಲೆಗಳುPACKET ವಿವರ ಬ್ಲಾಕ್‌ಗಳು ಮತ್ತು ಘಟನೆ ಪಠ್ಯವು ತಮ್ಮ ದಾಖಲೆಗಳಿಗೆ ಜೋಡಿಸಿಕೊಂಡಿರುತ್ತವೆ
DNS ಸರ್ವರ್ ಆವೃತ್ತಿಗಳು2012 R2 ರಿಂದ 2025 ಲಾಗ್ ಫಾರ್ಮ್ಯಾಟ್‌ಗಳು
PowerShell ಆವೃತ್ತಿಗಳುWindows PowerShell 5.1+ ಮತ್ತು PowerShell 7.x
ಫೈಲ್ ಗಾತ್ರ100 MB+ ಲಾಗ್‌ಗಳೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ; ಏಕ-ಪಾಸ್ ಸ್ಟ್ರೀಮಿಂಗ್
ಹೆಡರ್ ಪರಿಶೀಲನೆDNS ಡಿಬಗ್ ಲಾಗ್ ಅಲ್ಲದ ಫೈಲ್‌ಗಳನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ (ಆಫ್ ಮಾಡಬಹುದು)
ಅಂಕಿಅಂಶಗಳುಐಚ್ಛಿಕ ದೈನಂದಿನ ರೋಲ್ಅಪ್‌ಗಳು, ಪ್ರತಿ ಕಾಂಟೆಕ್ಸ್ಟ್ ಮತ್ತು ಪ್ರತಿ ಕ್ಲೈಂಟ್/ಪ್ರೋಟೋಕಾಲ್/ಪ್ರಕಾರಕ್ಕೆ
ಪೈಪ್‌ಲೈನ್ ಬೆಂಬಲGet-ChildItem *.log | Convert-DNSDebugLogFile
ಸಂಕುಚಿತತೆಐಚ್ಛಿಕ ZIP ಔಟ್‌ಪುಟ್, ಸಾಮಾನ್ಯವಾಗಿ 90%+ ಚಿಕ್ಕದು
ಮೂಲ ಸ್ವಚ್ಛತೆಯಶಸ್ವಿ ರನ್ ನಂತರ ಲಾಗ್ ಅಳಿಸುವ ಆಯ್ಕೆ
ಅಂತರರಾಷ್ಟ್ರೀಯ ಲಾಗ್‌ಗಳುಸಂಸ್ಕೃತಿಯ ಪ್ರಕಾರ ದಿನಾಂಕಗಳನ್ನು ಪಾರ್ಸ್ ಮತ್ತು ಬರೆಯುತ್ತದೆ, ಆದ್ದರಿಂದ de-DE ಲಾಗ್ ಅನ್ನು en-US ವರ್ಕ್‌ಸ್ಟೇಶನ್‌ನಲ್ಲಿ ಓದಬಹುದು
ನೆಟ್‌ವರ್ಕ್ ಮಾರ್ಗಗಳುSMB/UNC ಮಾರ್ಗಗಳಿಂದ ಮೂಲಗಳನ್ನು ಓದುತ್ತದೆ
ಲಾಕ್ ಮಾಡಿದ ಫೈಲ್‌ಗಳುDNS ಸರ್ವರ್ (ಅಥವಾ ಬೇರೆ ಏನಾದರೂ) ಪ್ರಸ್ತುತ ತೆರೆಯಿರುವ ಲಾಗ್‌ಗಳನ್ನು ಓದುತ್ತದೆ

ಸಕ್ರಿಯ ಲಾಗ್ ಮತ್ತು ರೋಟೇಟೆಡ್ ಲಾಗ್

ಪ್ರಾಯೋಗಿಕ ಮಾದರಿ DNS ಸರ್ವರ್‌ನಲ್ಲಿ ಲಾಗ್ ರೋಲ್ಓವರ್ ಸಕ್ರಿಯಗೊಳಿಸಿ, ಮತ್ತು ವೇಳಾಪಟ್ಟಿಯ ಪರಿವರ್ತನೆ ಹೊಸ ಫೈಲ್ ಅನ್ನು ಬಿಟ್ಟು ಹೋಗುವಂತೆ ಮಾಡುವುದು:

Get-ChildItem "C:\Administration\Logs\DNSServer\*.log" |
    Sort-Object LastWriteTime -Descending |
    Select-Object -Skip 1 |
    Convert-DNSDebugLogFile -ComputerName $env:COMPUTERNAME

ಈಗಾಗಲೇ ಪೂರ್ಣ Group Policy ಆಧಾರಿತ ಅನುಷ್ಠಾನ GPO-driven collection example ನಲ್ಲಿ ದಾಖಲಾಗಿದೆ.

ಮುಂದೇನು ಮಾಡಬೇಕು

  • Output Formats — ಕಾಲಮ್‌ಗಳ ಅರ್ಥ, ನಿಜವಾದ ಮಾದರಿ ಫೈಲ್‌ಗಳೊಂದಿಗೆ
  • Parameters and Options — ನಿಯಂತ್ರಣಗಳು, ಸರಳ ಭಾಷೆಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ
  • Performance — ಏಕೆ ವೇಗವಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ಹೇಗೆ ವೇಗವಾಗಿ ಇಡಬೇಕು
  • Integration — Excel, Power BI, SQL, SIEM, Python
  • Operational Best Practices — ಉತ್ಪಾದನೆಯಲ್ಲಿ ಚಾಲನೆ
  • Usage Examples — ವೇಳಾಪಟ್ಟಿಯ ಕಾರ್ಯಗಳು, GPO ರೋಲೌಟ್, SQL ವಿಶ್ಲೇಷಣೆ
  • Command Reference — ಅಧಿಕೃತ ನಿಯಂತ್ರಣ ಪಟ್ಟಿ

ಪರವಾನಗಿ ಮತ್ತು ಬೆಂಬಲ

MIT ಪರವಾನಗಿ. ಸಮುದಾಯ ಬೆಂಬಲ GitHub Issues ಮೂಲಕ; ದೋಷ ವರದಿಗಳು ಮತ್ತು ವೈಶಿಷ್ಟ್ಯ ವಿನಂತಿಗಳು ಸ್ವಾಗತಾರ್ಹ.

2 - ಔಟ್‌ಪುಟ್ ಫಾರ್ಮ್ಯಾಟ್‌ಗಳು

CSV ಡೇಟಾ ಫೈಲ್‌ನ ಕಾಲಮ್‌ಗಳು, ಎರಡು ಐಚ್ಛಿಕ ಅಂಕಿಅಂಶ ಫೈಲ್‌ಗಳು ಮತ್ತು ನಿಜವಾದ ಮಾದರಿ ಔಟ್‌ಪುಟ್‌ಗಳು, ನೀವು ಯಾವುದನ್ನಾದರೂ ರನ್ ಮಾಡುವ ಮೊದಲು ತೆರೆಯಬಹುದು.

Convert-DNSDebugLogFile ಪ್ರತಿ ಇನ್‌ಪುಟ್ ಲಾಗ್‌ಗೆ ಗರಿಷ್ಠ ಮೂರು ಫೈಲ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ:

ಫೈಲ್ಒಳಗೊಂಡಿದೆರಚನೆಯಾಗುವಾಗ
<name>.csvಪ್ರತಿ ಪಾರ್ಸ್ ಮಾಡಿದ ಲಾಗ್ ಎಂಟ್ರಿಗೆ ಒಂದು ಸಾಲು-OutputType CSV ಅಥವಾ Both
<name>_Statistic.csvಪ್ರತಿ ದಿನದ ಪ್ರತಿ ಕಾಂಟೆಕ್ಸ್ಟ್‌ಗೆ ದಾಖಲೆ ಎಣಿಕೆ-OutputType Statistic ಅಥವಾ Both
<name>_PacketStatistic.csvಪ್ರತಿ ದಿನದ ಪ್ರತಿ ಕ್ಲೈಂಟ್, ಪ್ರೋಟೋಕಾಲ್, ದಿಕ್ಕು ಮತ್ತು ದಾಖಲೆ ಪ್ರಕಾರಕ್ಕೆ ಪ್ರಶ್ನೆಗಳ ಎಣಿಕೆ-OutputType Statistic ಅಥವಾ Both

Both ಡೀಫಾಲ್ಟ್ ಆಗಿದೆ. ಔಟ್‌ಪುಟ್ ಇನ್‌ಪುಟ್ ಫೈಲ್‌ಗಿಂತ ಪಕ್ಕದಲ್ಲೇ ಇರುತ್ತದೆ, ನೀವು -OutputFile ಸೆಟ್ ಮಾಡದಿದ್ದರೆ.

ಈ ಪುಟದಲ್ಲಿ ಲಿಂಕ್ ಮಾಡಲಾದ ಮಾದರಿ ಫೈಲ್‌ಗಳು ನಿಜವಾದ ಪರಿವರ್ತನೆ ಫಲಿತಾಂಶಗಳು, ನಕಲಿ ಮಾದರಿಗಳು ಅಲ್ಲ. ಒಂದು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ, ಪೈಪ್‌ಲೈನ್ ವಿನ್ಯಾಸಕ್ಕೆ ಬದ್ಧರಾಗುವ ಮೊದಲು ಅದನ್ನು ಎಕ್ಸೆಲ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ.

CSV ಡೇಟಾ ಫೈಲ್

ಮಾದರಿ ಔಟ್‌ಪುಟ್:

ಸ್ಥಳೀಯತೆವಿವರಗಳ ಕಾಲಮ್ಫೈಲ್‌ಗಳು
en-USತುಂಬಿಸಲಾಗಿಲ್ಲWithComputerName, NoComputerName
de-DEತುಂಬಿಸಲಾಗಿಲ್ಲWithComputerName, NoComputerName
de-DEತುಂಬಿಸಲಾಗಿದೆWithComputerName, NoComputerName

ನಿಜವಾದ ಪರಿವರ್ತನೆಯ ಎರಡು ಸಾಲುಗಳು — ಒಂದು DNS ಪ್ರಶ್ನೆ ಮತ್ತು ಸರ್ವರ್ ಒಳಗಿನ ಟಿಪ್ಪಣಿ:

DateTime;ThreadId;Context;PacketId;Protocol;Direction;ClientIP;Xid;Type;Opcode;FlagsHex;FlagsChar;ResponseCode;QuestionType;QuestionName;Information;Details;ComputerName
2026-01-20 23:00:16;0FE0;Packet;000002C53117D990;UDP;Rcv;10.0.0.2;c049;Query;Standard;0001;RecursionDesired;NOERROR;A;"odc.officeapps.live.com";"";"";dc01
2026-01-20 23:00:16;DF0;Note;;;;;;;;;;;;"";"got GQCS failure on a dead socket context status=995, socket=904";"";dc01

ಕಾಲಮ್‌ಗಳು

ಎಲ್ಲಾ ಕಾಲಮ್‌ಗಳು 18 ಇರುತ್ತವೆ, ಯಾವಾಗಲೂ ಈ ಕ್ರಮದಲ್ಲಿ:

#ಕಾಲಮ್ಅರ್ಥಸಾಮಾನ್ಯ ಬಳಕೆ
1DateTimeಎಂಟ್ರಿಯ ಸಮಯದ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ಸಮಯ ಫಿಲ್ಟರಿಂಗ್, ಇತರ ಲಾಗ್‌ಗಳೊಂದಿಗೆ ಜೋಡಣೆ
2ThreadIdDNS ಸರ್ವರ್ ಕೆಲಸಗಾರ ಥ್ರೆಡ್ಅಪರೂಪವಾಗಿ ಬೇಕಾಗುತ್ತದೆ; ಸರ್ವರ್ ಒಳಗಿನ ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಾಣಿಕೆ ಮಾಡುವಾಗ ಉಪಯುಕ್ತ
3Contextಎಂಟ್ರಿಯ ಪ್ರಕಾರ: Packet, Event, Note, DSPoll, Init, Lookup, Recurse, Remote, Tombstoneನೀವು ಮೊದಲಿಗೆ ಅನ್ವಯಿಸುವ ಫಿಲ್ಟರ್ — Packet ನಿಜವಾದ DNS ಟ್ರಾಫಿಕ್
4PacketIdಆಂತರಿಕ ಪ್ಯಾಕೆಟ್ ಗುರುತುಪ್ರಶ್ನೆ ಮತ್ತು ಉತ್ತರವನ್ನು ಜೋಡಿಸುವುದು
5ProtocolUDP ಅಥವಾ TCPTCP ಏರಿಕೆಗಳು ದೊಡ್ಡ ಉತ್ತರಗಳು ಅಥವಾ ವಲಯ ವರ್ಗಾವಣೆಗಳನ್ನು ಸೂಚಿಸಬಹುದು
6DirectionRcv (ಪ್ರಶ್ನೆ ಬಂದಿತು) ಅಥವಾ Snd (ಸರ್ವರ್ ಉತ್ತರಿಸಿತು)ವಿನಂತಿ ಪ್ರಮಾಣವನ್ನು ಉತ್ತರ ಪ್ರಮಾಣದಿಂದ ವಿಭಜಿಸುವುದು
7ClientIPಪ್ರಶ್ನೆ ಕೇಳಿದ ಹೋಸ್ಟ್‌ನ ವಿಳಾಸಟಾಪ್-ಟಾಕರ್ ವಿಶ್ಲೇಷಣೆ, ಘಟನೆ ವ್ಯಾಪ್ತಿ ನಿರ್ಧಾರ
8XidDNS ವ್ಯವಹಾರ ID (ಹೆಕ್ಸ)ವಿನಂತಿ ಮತ್ತು ಉತ್ತರ ಹೊಂದಾಣಿಕೆ
9TypeQuery ಅಥವಾ Response
10OpcodeStandard, Notify, Update, Unknownಡೈನಾಮಿಕ್ ಅಪ್ಡೇಟ್ಗಳು ಮತ್ತು ವಲಯ ಸೂಚನೆಗಳನ್ನು ಸಾಮಾನ್ಯ ಲುಕ್‌ಅಪ್‌ಗಳಿಂದ ವಿಭಜಿಸುತ್ತದೆ
11FlagsHexಕಚ್ಚಾ ಹೆಡರ್ ಫ್ಲಾಗ್‌ಗಳು (ಹೆಕ್ಸ)ಆಳವಾದ ಪ್ರೋಟೋಕಾಲ್ ವಿಶ್ಲೇಷಣೆಗೆ
12FlagsCharಡಿಕೋಡ್ ಮಾಡಿದ ಫ್ಲಾಗ್‌ಗಳು: Authoritative, Truncated, RecursionDesired, RecursionAvailableಮೇಲಿನ ಓದಲು ಸುಲಭ ಆವೃತ್ತಿ
13ResponseCodeNOERROR, NXDOMAIN, SERVFAIL, …ದೋಷ ದರ ವರದಿ, ಪರಿಹಾರ ವಿಫಲತೆ ಹುಡುಕಾಟ
14QuestionTypeದಾಖಲೆ ಪ್ರಕಾರ: A, AAAA, MX, PTR, TXT, …TXT ಪ್ರಮಾಣವು ಕ್ಲಾಸಿಕ್ ಟನ್ನಲಿಂಗ್ ಸೂಚಕ
15QuestionNameಸಾಮಾನ್ಯ FQDN ಆಗಿ ಕೇಳಿದ ಹೆಸರುಬೆದರಿಕೆ ಬುದ್ಧಿವಂತಿಕೆ ಹೊಂದಾಣಿಕೆ, ಟಾಪ್-ಡೊಮೇನ್ ವರದಿಗಳು
16InformationEvent / Note ಎಂಟ್ರಿಗಳಿಗಾಗಿ ಮುಕ್ತ ಪಠ್ಯ; Packet ವಿವರ ಬ್ಲಾಕ್‌ಗಳಿಗೆ TCP/UDP ವಿವರ ಹೆಡರ್ ಲೈನ್ಸರ್ವರ್ ಸಂದೇಶಗಳನ್ನು ಓದುವುದು
17DetailsPacket ವಿವರ ಬ್ಲಾಕ್‌ನ JSON ಪ್ರತಿನಿಧಾನ; ಇಲ್ಲದಿದ್ದರೆ ಖಾಲಿಕಚ್ಚಾ ಲಾಗ್‌ಗೆ ಹಿಂತಿರುಗದೆ ಸಂಪೂರ್ಣ ಪ್ಯಾಕೆಟ್ ಪರಿಶೀಲನೆ
18ComputerNameಮೂಲ ಸರ್ವರ್, -ComputerName ನಿಂದಬಹು-ಸರ್ವರ್ ಡೇಟಾಸೆಟ್‌ಗಳನ್ನು ಗುರುತಿಸುವುದು

ಎರಡು ವಿಷಯಗಳನ್ನು ಯೋಜಿಸಬೇಕು:

  • ಪ್ರತಿ ಸಾಲಿಗೂ ಎಲ್ಲಾ ಕಾಲಮ್‌ಗಳು ತುಂಬಲಾಗುವುದಿಲ್ಲ. ಕೇವಲ Packet ಎಂಟ್ರಿಗಳು ಕ್ಲೈಂಟ್ IP, ಪ್ರಶ್ನೆ ಹೆಸರು ಮತ್ತು ಉತ್ತರ ಕೋಡ್ ಹೊಂದಿರುತ್ತವೆ. Note ಮತ್ತು Event ಸಾಲುಗಳು ತಮ್ಮ ಪಠ್ಯವನ್ನು Information ನಲ್ಲಿ ಹೊತ್ತಿರುತ್ತವೆ ಮತ್ತು ಪ್ರೋಟೋಕಾಲ್ ಕಾಲಮ್‌ಗಳನ್ನು ಖಾಲಿ ಇಡುತ್ತವೆ. ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಸ್ಕೀಮಾ ಮತ್ತು ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಫಿಲ್ಟರ್‌ಗಳನ್ನು ಅನುಗುಣವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿ.
  • ComputerName ಯಾವಾಗಲೂ ಕೊನೆಯ ಕಾಲಮ್ ಆಗಿರುತ್ತದೆ, ನೀವು -ComputerName ಬಳಸದಿದ್ದರೂ ಕೂಡ. ಅದು ಆ ಸಮಯದಲ್ಲಿ ಖಾಲಿಯಾಗಿರುತ್ತದೆ. ಇದು ಎಲ್ಲಾ ಸರ್ವರ್‌ಗಳಲ್ಲಿಯೂ ವಿನ್ಯಾಸವನ್ನು ಒಂದೇ ರೀತಿಯಲ್ಲಿ ಇಡುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಅನೇಕ DNS ಸರ್ವರ್‌ಗಳಿಂದ ಫೈಲ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸಬಹುದು, ಕಾಲಮ್-ಮ್ಯಾಪಿಂಗ್ ಹಂತವಿಲ್ಲದೆ.

ವಿವರಗಳ ಕಾಲಮ್

ವಿವರ ಬ್ಲಾಕ್‌ಗಳು ಕೇವಲ DNS ಸರ್ವರ್ ಸಂಪೂರ್ಣ ಪ್ಯಾಕೆಟ್ ವಿವರಗಳನ್ನು ಲಾಗ್ ಮಾಡಲು ಸಂರಚಿಸಲ್ಪಟ್ಟಿದ್ದರೆ ಮಾತ್ರ ಕಾಣಿಸುತ್ತವೆ. ಅವು ಇದ್ದರೆ, ಪಾರ್ಸರ್ ಅವುಗಳನ್ನು ಒಂದು JSON ಮೌಲ್ಯವಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಸಾಲು ಒಂದೇ ಸಾಲಾಗಿ ಉಳಿಯುತ್ತದೆ:

{
  "Socket": "848",
  "Remote": "addr 10.10.0.11, port 60580",
  "Buflength": "0x10000 (65536)",
  "Message": {
    "XID": "0x0001",
    "OPCODE": "0 (QUERY)",
    "RCODE": "0 (NOERROR)",
    "QUESTION": [ { "Name": "berlin.de", "QTYPE": "A (1)", "QCLASS": "1" } ],
    "ANSWER": []
  }
}

ಈ ಬ್ಲಾಕ್‌ಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡುವುದು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು CSV ಅನ್ನು ಬಹಳ ದೊಡ್ಡದಾಗಿಸುತ್ತದೆ. ನೀವು ಅವುಗಳನ್ನು ಬೇಕಾಗಿಲ್ಲದಿದ್ದರೆ, -NoDetailsParsing ಬಳಸಿ — ಕಾಲಮ್ ಇದ್ದೇ ಇರುತ್ತದೆ ಆದರೆ ಖಾಲಿ, ಮತ್ತು ಪರಿವರ್ತನೆ ವೇಗವಾಗುತ್ತದೆ. ವಿವರಗಳಿಗೆ ಕಾರ್ಯಕ್ಷಮತೆ ನೋಡಿ.

ಅಂಕಿಅಂಶ ಫೈಲ್‌ಗಳು

ಅಂಕಿಅಂಶಗಳು ದಿನನಿತ್ಯದ ಸಂಗ್ರಹಗಳು. ನೀವು ಪ್ರವೃತ್ತಿ ಅಥವಾ ಒಟ್ಟು ಸಾರಾಂಶ ಬೇಕಾದಾಗ ಮತ್ತು ಸಂಪೂರ್ಣ ದಾಖಲೆ ಸೆಟ್ ಅನ್ನು ಸರಿಸಲು ಇಚ್ಛಿಸದಿದ್ದಾಗ ಅವುಗಳನ್ನು ಬಳಸಿ — ಅವು ಡೇಟಾ ಫೈಲ್‌ಗಿಂತ ಬಹಳ ಚಿಕ್ಕದಾಗಿವೆ.

ಕಾಂಟೆಕ್ಸ್ಟ್ ಅಂಕಿಅಂಶ (*_Statistic.csv)

ಉತ್ತರಗಳು: ಪ್ರತಿ ದಿನ ಎಷ್ಟು ಪ್ರಕಾರದ ಚಟುವಟಿಕೆ ನಡೆದಿದೆ?

Date;Context;Count;ComputerName
2026-01-20;Event;2;dc01
2026-01-20;Note;2;dc01
2026-01-20;Packet;12;dc01
ಕಾಲಮ್ಅರ್ಥ
Dateದಿನಾಂಕ, ಯಾವಾಗಲೂ yyyy-MM-dd
Contextಕಾಂಟೆಕ್ಸ್ಟ್ ಹೆಸರು (Packet, Event, Note, …)
Countಆ ದಿನದ ಆ ಕಾಂಟೆಕ್ಸ್ಟ್‌ನ ದಾಖಲೆಗಳ ಸಂಖ್ಯೆ
ComputerNameಮೂಲ ಸರ್ವರ್

ಮಾದರಿ ಫೈಲ್‌ಗಳು: en-US WithComputerName, en-US NoComputerName, de-DE WithComputerName, de-DE NoComputerName

ಪ್ಯಾಕೆಟ್ ಅಂಕಿಅಂಶ (*_PacketStatistic.csv)

ಉತ್ತರಗಳು: ಯಾರು ಯಾವ ಪ್ರಶ್ನೆಯನ್ನು ಎಷ್ಟು ಬಾರಿ ಕೇಳಿದರು, ಪ್ರತಿ ದಿನ?

Date;ClientIP;Protocol;Direction;QuestionType;Count;ComputerName
2026-01-20;10.0.0.1;UDP;Rcv;A;3;dc01
2026-01-20;10.0.0.1;UDP;Snd;A;3;dc01
2026-01-20;10.0.0.2;UDP;Rcv;A;3;dc01
ಕಾಲಮ್ಅರ್ಥ
Dateದಿನಾಂಕ, ಯಾವಾಗಲೂ yyyy-MM-dd
ClientIPಪ್ರಶ್ನೆ ಕೇಳಿದ ಹೋಸ್ಟ್
ProtocolUDP ಅಥವಾ TCP
DirectionRcv ಅಥವಾ Snd
QuestionTypeDNS ದಾಖಲೆ ಪ್ರಕಾರ
Countಆ ದಿನದ ಹೊಂದಾಣಿಕೆಯ ಪ್ಯಾಕೆಟ್‌ಗಳ ಸಂಖ್ಯೆ
ComputerNameಮೂಲ ಸರ್ವರ್

ಮಾದರಿ ಫೈಲ್‌ಗಳು: en-US WithComputerName, en-US NoComputerName, de-DE WithComputerName, de-DE NoComputerName

ಡಿಲಿಮಿಟರ್ ಮತ್ತು ದಿನಾಂಕ ಫಾರ್ಮ್ಯಾಟ್

ಎರಡೂ ಔಟ್‌ಪುಟ್ ಪ್ರಕಾರಗಳು -Delimiter (ಡೀಫಾಲ್ಟ್ ;) ಮತ್ತು -OutputCulture ಅನ್ನು ಗೌರವಿಸುತ್ತವೆ. ಯಂತ್ರದಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳುವ ಯಾವುದಾದರೂ ವಿಷಯಕ್ಕೆ, ISO-ಹಾಗೆ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳನ್ನು ಬರೆಯಿರಿ:

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputCulture 'sv-SE'

ಇದು 2026-01-20 23:00:16 ಅನ್ನು ನೀಡುತ್ತದೆ, SQL Server, Power BI ಮತ್ತು pandas ಎಲ್ಲವೂ ಯಾವುದೇ ಫಾರ್ಮ್ಯಾಟ್ ಸೂಚನೆಯಿಲ್ಲದೆ ಓದುತ್ತವೆ. ವಿವರಗಳಿಗೆ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳು ನೋಡಿ.

3 - ಪರಿಮಾಣಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳು

Convert-DNSDebugLogFile ನ ಪ್ರತಿ ಆಯ್ಕೆ ನಿಜವಾಗಿಯೂ ಏನು ಬದಲಾಯಿಸುತ್ತದೆ, ನೀವು ಅದನ್ನು ಯಾವಾಗ ಬೇಕಾಗುತ್ತದೆ, ಮತ್ತು ಸುಲಭವಾಗಿ ತಪ್ಪಿಸಿಕೊಳ್ಳಬಹುದಾದ ಜಾಲಗಳು.

ಈ ಪುಟವು ಆಯ್ಕೆಗಳನ್ನು ಸರಳ ಭಾಷೆಯಲ್ಲಿ ಮತ್ತು ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಅವುಗಳನ್ನು ಬೇಕಾಗುವ ಕ್ರಮದಲ್ಲಿ ವಿವರಿಸುತ್ತದೆ. ಇದು ಮಾರ್ಗದರ್ಶಕ, ನಿರ್ದಿಷ್ಟತೆ ಅಲ್ಲ — ಅಧಿಕೃತ, ಸದಾ ನವೀಕೃತ ಪರಿಮಾಣಗಳ ಪಟ್ಟಿ ಕಮಾಂಡ್ ರೆಫರೆನ್ಸ್ ಮತ್ತು ಈ ಕೆಳಗಿನಲ್ಲಿ ಇರುತ್ತದೆ:

Get-Help Convert-DNSDebugLogFile -Full

ಸಂಕ್ಷಿಪ್ತ ಆವೃತ್ತಿ

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

ಆ ಒಂದು ಸಾಲು ಈಗಾಗಲೇ ನಿಮಗೆ ಸೂಕ್ತ ವರ್ತನೆ ನೀಡುತ್ತದೆ: ಡೇಟಾ ಮತ್ತು ಅಂಕಿಅಂಶಗಳ ಫೈಲ್‌ಗಳು, ಸೆಮಿಕೋಲನ್ ವಿಭಾಜಕ, ನಿಮ್ಮ ಯಂತ್ರದ ದಿನಾಂಕ ಸ್ವರೂಪ, ಹೆಡರ್ ಪರಿಶೀಲನೆ ಸಕ್ರಿಯ, ಮೂಲ ಲಾಗ್ ಸ್ಪರ್ಶಿಸದಂತೆ. ಕೆಳಗಿನವುಗಳೆಲ್ಲಾ ಸೂಕ್ಷ್ಮತೆಯ ನಿಯಂತ್ರಣ.

ಆಯ್ಕೆಡೀಫಾಲ್ಟ್ಬದಲಾಯಿಸಬೇಕಾದಾಗ
-InputFile(ಅಗತ್ಯ)ಯಾವಾಗಲೂ
-OutputFileಇನ್‌ಪುಟ್ ಪಥ .csv ಜೊತೆಗೆನೀವು ಔಟ್‌ಪುಟ್ ಬೇರೆಡೆ ಬೇಕಾದಾಗ
-Delimiter;ನಿಮ್ಮ ಗ್ರಾಹಕ ಕಾಮಾ, ಟ್ಯಾಬ್ ಅಥವಾ ಪೈಪ್ ನಿರೀಕ್ಷಿಸಿದಾಗ
-ComputerNameಖಾಲಿನೀವು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸರ್ವರ್‌ಗಳಿಂದ ಲಾಗ್‌ಗಳನ್ನು ಮಿಶ್ರಣ ಮಾಡುತ್ತಿದ್ದರೆ
-OutputTypeBothನೀವು ಕೇವಲ ಡೇಟಾ ಅಥವಾ ಕೇವಲ ರೋಲುಪ್‌ಗಳನ್ನು ಬೇಕಾದಾಗ
-ContextFilterAllನೀವು ಕೇವಲ ನಿಜವಾದ DNS ಟ್ರಾಫಿಕ್ ಬಗ್ಗೆ ಕಾಳಜಿ ವಹಿಸುವಾಗ
-InputCultureಪ್ರಸ್ತುತ ಸಂಸ್ಕೃತಿಲಾಗ್ ಬೇರೆ ಸ್ಥಳೀಯತೆಯಿಂದ ಬಂದಿದ್ದರೆ
-OutputCultureಪ್ರಸ್ತುತ ಸಂಸ್ಕೃತಿಯಂತ್ರವು CSV ಓದುವಾಗ
-NoDetailsParsingಆಫ್ಪ್ಯಾಕೆಟ್ ಒಳಗಿನ ವಿವರಗಳಿಗಿಂತ ವೇಗ ಮುಖ್ಯವಾದಾಗ
-CompressOutputಆಫ್ನೀವು ಫಲಿತಾಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸುವಾಗ ಅಥವಾ ವರ್ಗಾಯಿಸುವಾಗ
-RemoveSourceFileಆಫ್ನಿಯೋಜಿತ ಸ್ವಚ್ಛತೆ ಮತ್ತು ನೀವು ಔಟ್‌ಪುಟ್ ಮೇಲೆ ನಂಬಿಕೆ ಇಟ್ಟಿದ್ದರೆ
-SkipHeaderValidationಆಫ್ಫೈಲ್ ಮಾನ್ಯ ಆದರೆ ಹೆಡರ್ ಅಸಾಮಾನ್ಯವಾದಾಗ

ಇನ್‌ಪುಟ್ ಮತ್ತು ಔಟ್‌ಪುಟ್

-InputFile

ಪರಿವರ್ತಿಸಲು ಲಾಗ್‌ನ ಪಥ. ಇದು ಅರೇ ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಪೈಪ್‌ಲೈನ್ ಇನ್‌ಪುಟ್ ಕೂಡ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ — ಆದ್ದರಿಂದ ಇದು ಕೆಲಸ ಮಾಡುತ್ತದೆ:

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

Get-ChildItem FullName ಗುಣಲಕ್ಷಣವಿರುವ ವಸ್ತುಗಳನ್ನು ಹೊರಡಿಸುತ್ತದೆ, ಮತ್ತು -InputFile ಅದನ್ನು ಗುಣಲಕ್ಷಣದ ಹೆಸರಿನಿಂದ ಸ್ವೀಕರಿಸುತ್ತದೆ (ಅದರ ಉಪನಾಮಗಳಲ್ಲಿ FullName, Path, FilePath ಸೇರಿವೆ). ForEach-Object ಅಗತ್ಯವಿಲ್ಲ.

ಸ್ಥಳೀಯ ಪಥಗಳು ಮತ್ತು SMB/UNC ಪಥಗಳು ಎರಡೂ ಕೆಲಸ ಮಾಡುತ್ತವೆ:

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

ಕಮಾಂಡ್ DNS ಸರ್ವರ್ ಪ್ರಸ್ತುತ ತೆರೆಯುತ್ತಿರುವ ಲಾಗ್ ಅನ್ನು ಕೂಡ ತೆರೆಯಬಹುದು. ಅದಕ್ಕೆ ಅವಲಂಬಿಸುವ ಮೊದಲು ಕೆಳಗಿನ ಸಕ್ರಿಯ ಲಾಗ್‌ಗಳು ನೋಡಿ.

-OutputFile

ಇದಿಲ್ಲದೆ, CSV ಇನ್‌ಪುಟ್ ಫೈಲ್ ಪಕ್ಕದಲ್ಲೇ, ಅದೇ ಮೂಲ ಹೆಸರಿನಿಂದ .csv ವಿಸ್ತರಣೆ ಹೊಂದಿ ಇರುತ್ತದೆ. ಇದಿದ್ದರೆ, ನೀವು ಗುರಿ ನಿಯಂತ್ರಣ ಮಾಡುತ್ತೀರಿ.

-Delimiter

ಡೀಫಾಲ್ಟ್ ಸೆಮಿಕೋಲನ್, ಏಕೆಂದರೆ ಕೆಲವು ಸ್ಥಳೀಯತೆಗಳಲ್ಲಿ ಕಾಮಾ ದಶಮಾಂಶ ವಿಭಾಜಕವಾಗಿದ್ದು, ಅದನ್ನು Excel ನಿರೀಕ್ಷಿಸುತ್ತದೆ. ಕ್ಲಾಸಿಕ್ ಕಾಮಾ-ವಿಭಜಿತ ಮೌಲ್ಯಗಳನ್ನು ನಿರೀಕ್ಷಿಸುವ ಸಾಧನಗಳು ಮತ್ತು ಡೇಟಾಬೇಸ್‌ಗಳಿಗೆ -Delimiter "," ಬಳಸಿ, ಅಥವಾ ಟ್ಯಾಬ್‌ಗಾಗಿ -Delimiter "`t" ಬಳಸಿ.

ನೀವು ಏನು ಆಯ್ಕೆ ಮಾಡಿದರೂ, ಆ ಅದೇ ಮೌಲ್ಯವನ್ನು ಆಮದು ಭಾಗದಲ್ಲೂ ಬಳಸಿ. ಅಸಮಂಜಸತೆ “ಎಲ್ಲವೂ ಒಂದೇ ಕಾಲಮ್‌ನಲ್ಲಿ ಬಿದ್ದಿದೆ” ಎಂಬ ಪ್ರಮುಖ ಕಾರಣ.

ಲೇಬಲಿಂಗ್ ಮತ್ತು ಫಿಲ್ಟರಿಂಗ್

-ComputerName

ComputerName ಕಾಲಮ್ ಅನ್ನು ತುಂಬುತ್ತದೆ. ಕಾಲಮ್ ಯಾವಾಗಲೂ ಇರುತ್ತದೆ; ಇದು ಅದಕ್ಕೆ ಮೌಲ್ಯ ನೀಡುತ್ತದೆ.

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

ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸರ್ವರ್‌ಗಳು ಒಂದೇ ಡೇಟಾಸೆಟ್‌ಗೆ ಆಹಾರ ನೀಡುವಾಗ ಯಾವಾಗಲೂ ಇದನ್ನು ಸೆಟ್ ಮಾಡಿ — ಇಲ್ಲದಿದ್ದರೆ ನಂತರ ಯಾವ ಡಿಸಿ ಸಾಲು ಬಂದಿತು ಎಂದು ತಿಳಿಯಲು ಸಾಧ್ಯವಿಲ್ಲ.

-OutputType

  • CSV — ಕೇವಲ ಡೇಟಾ ಫೈಲ್
  • Statistic — ಕೇವಲ ಎರಡು ಸಂಗ್ರಹಿತ ಫೈಲ್‌ಗಳು, ಸಾಲು ಮಟ್ಟದ ಡೇಟಾ ಇಲ್ಲ
  • Both — ಎಲ್ಲಾ ಮೂರು ಫೈಲ್‌ಗಳು (ಡೀಫಾಲ್ಟ್)

Statistic ದೈನಂದಿನ ಪ್ರವೃತ್ತಿಗಳಿಗೆ ವೇಗವಾದ, ಸಣ್ಣ ಆಯ್ಕೆ. CSV ಕೆಳಗಿನ ವ್ಯವಸ್ಥೆ ತನ್ನದೇ ಸಂಗ್ರಹಣೆ ಮಾಡುತ್ತದಾದರೆ ಸರಿಯಾಗಿದೆ.

-ContextFilter

DNS ಡಿಬಗ್ ಲಾಗ್ ನಿಜವಾದ ಪ್ರಶ್ನೆ ಟ್ರಾಫಿಕ್ ಮತ್ತು ಸರ್ವರ್ ಒಳಗಿನ ಚರ್ಚೆಯನ್ನು ಮಿಶ್ರಣ ಮಾಡುತ್ತದೆ. -ContextFilter ಔಟ್‌ಪುಟ್‌ಗೆ ಏನು ಉಳಿಯುತ್ತದೆ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ.

# ಕೇವಲ ನಿಜವಾದ DNS ಟ್ರಾಫಿಕ್
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter Packet

# ಟ್ರಾಫಿಕ್ ಮತ್ತು ಸರ್ವರ್ ಘಟನೆಗಳು, ಆದರೆ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ ಟಿಪ್ಪಣಿಗಳು ಇಲ್ಲ
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -ContextFilter Packet, Event
ಮೌಲ್ಯಒಳಗೊಂಡಿದೆ
Allಎಲ್ಲವೂ (ಡೀಫಾಲ್ಟ್)
PacketDNS ಪ್ರಶ್ನೆಗಳು ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಗಳು — ಬಹುತೇಕ ವಿಶ್ಲೇಷಣೆಗಳಿಗೆ ಬೇಕಾದ ಡೇಟಾ
Eventಸರ್ವರ್ ಘಟನೆಗಳು, ಉದಾ: “DNS ಸರ್ವರ್ ಪ್ರಾರಂಭವಾಗಿದೆ”
Noteಡಯಾಗ್ನೋಸ್ಟಿಕ್ ಟಿಪ್ಪಣಿಗಳು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳು, ಉದಾ: ಸಾಕೆಟ್ ದೋಷಗಳು

ಹೆಚ್ಚಿನ ಸಾಂದರ್ಭಿಕ ಪ್ರಕಾರಗಳು (DSPoll, Init, Lookup, Recurse, Remote, Tombstone) All ಅಡಿಯಲ್ಲಿ ಕಾಣಿಸುತ್ತವೆ.

Event ಅಥವಾ Note ಮಾತ್ರ ಫಿಲ್ಟರ್ ಮಾಡಿದರೆ DateTime, ThreadId, Context ಮತ್ತು Information ಮಾತ್ರ ತುಂಬುತ್ತದೆ — ಪ್ರೋಟೋಕಾಲ್ ಕಾಲಮ್‌ಗಳು ಖಾಲಿ ಇರುತ್ತವೆ ಏಕೆಂದರೆ ಆ ದಾಖಲಾತಿಗಳು ಆ ಮಾಹಿತಿ ಹೊಂದುತ್ತಿಲ್ಲ.

-ContextFilter Packet ಸಾಮಾನ್ಯವಾಗಿ ಭದ್ರತೆ ಮತ್ತು ವರದಿ ಪೈಪ್‌ಲೈನ್‌ಗಳಿಗೆ ಆಯ್ಕೆ: ಇದು ಶಬ್ದವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ ಮತ್ತು ಔಟ್‌ಪುಟ್ ಗಮನಾರ್ಹವಾಗಿ ಸಣ್ಣಗೊಳಿಸುತ್ತದೆ.

ಅಂತರರಾಷ್ಟ್ರೀಯ ಲಾಗ್‌ಗಳು

DNS ಸರ್ವರ್ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳನ್ನು ಯಂತ್ರದ ವಿಂಡೋಸ್ ಸ್ಥಳೀಯತೆಯಲ್ಲಿ ಬರೆಯುತ್ತದೆ. ಜರ್ಮನ್ ಡಿಸಿ 20.01.2026 23:00:16 ಬರೆಯುತ್ತದೆ; US ಸರ್ವರ್ 1/20/2026 11:00:16 PM ಬರೆಯುತ್ತದೆ. ನಿಮ್ಮ ವರ್ಕ್‌ಸ್ಟೇಶನ್ ಸ್ಥಳೀಯತೆ ಸರ್ವರ್‌ನಿಂದ ವಿಭಿನ್ನವಾದರೆ, ಪಾರ್ಸಿಂಗ್ ತಪ್ಪಾಗಬಹುದು — ಅಥವಾ, ಇನ್ನೂ ಕೆಟ್ಟದಾಗಿ, ದಿನ ಮತ್ತು ತಿಂಗಳು ಮೌನವಾಗಿ ಬದಲಾಯಿಸಬಹುದು.

-InputCulture

ಪಾರ್ಸರ್‌ಗೆ ಮೂಲ ಲಾಗ್ ಯಾವ ಸ್ಥಳೀಯತೆಯನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ತಿಳಿಸಿ:

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns-berlin.log" -InputCulture 'de-DE'
ಸಂಸ್ಕೃತಿಲಾಗ್ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಸ್ವರೂಪ
de-DEDD.MM.YYYY HH:MM:SS
en-USM/D/YYYY H:MM:SS AM/PM
en-GBDD/MM/YYYY HH:MM:SS
sv-SEYYYY-MM-DD HH:MM:SS

ಡೀಫಾಲ್ಟ್ ಆ ಕಮಾಂಡ್ ನಡೆಸುತ್ತಿರುವ ಸೆಷನ್‌ನ ಸಂಸ್ಕೃತಿ. ಮಿಶ್ರ-ಸ್ಥಳೀಯತೆ ಪರಿಸರದಲ್ಲಿ, ಆ ಡೀಫಾಲ್ಟ್ ಮೇಲೆ ಅವಲಂಬಿಸದೆ ಸ್ಪಷ್ಟವಾಗಿ ಸೆಟ್ ಮಾಡಿ — ಮತ್ತು SYSTEM ಆಗಿ ನಡೆಯುವ ನಿಯೋಜಿತ ಕಾರ್ಯವು ನೀವು ಇಂಟರಾಕ್ಟಿವ್ ಆಗಿ ಪರೀಕ್ಷಿಸಿದ ಸಂಸ್ಕೃತಿಯನ್ನು ಹೊಂದಿರಲಾರದು ಎಂದು ನೆನಪಿಡಿ.

-OutputCulture

ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳನ್ನು CSV ಗೆ ಬರೆಯುವ ವಿಧಾನವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ:

# SQL Server, Power BI ಮತ್ತು pandas ಎಲ್ಲರೂ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ISO-ಹಾಗಿನ ಔಟ್‌ಪುಟ್
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputCulture 'sv-SE'

# ಅದೇ ಪರಿಣಾಮ, ಸ್ಪಷ್ಟವಾಗಿ ಇನ್ವೇರಿಯಂಟ್ ಸಂಸ್ಕೃತಿ
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" `
    -OutputCulture ([System.Globalization.CultureInfo]::InvariantCulture)

ನಿಯಮ: ಮಾನವನು Excel ನಲ್ಲಿ ಫೈಲ್ ತೆರೆಯುವಾಗ ಸ್ಥಳೀಯ ಸಂಸ್ಕೃತಿಗೆ ಹೊಂದಿಸಿ. ಯಂತ್ರ ಓದುವಾಗ sv-SE ಅಥವಾ ಇನ್ವೇರಿಯಂಟ್ ಸಂಸ್ಕೃತಿ ಬಳಸಿ ಮತ್ತು ಆಮದು ಭಾಗದ ಪ್ರಾದೇಶಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಬಗ್ಗೆ ಚಿಂತಿಸಬೇಡಿ.

ಈ ಎರಡು ಪರಿಮಾಣಗಳು ಸ್ವತಂತ್ರ — ನೀವು ಸ್ವೀಡಿಷ್ ಲಾಗ್ ಓದಿ US-ರೂಪದ ಔಟ್‌ಪುಟ್ ಬರೆಯಬಹುದು.

ವೇಗ ಮತ್ತು ಸಂಗ್ರಹಣೆ

-NoDetailsParsing

DNS ಸರ್ವರ್ ಸಂಪೂರ್ಣ ಪ್ಯಾಕೆಟ್ ವಿವರಗಳನ್ನು ಲಾಗ್ ಮಾಡಿದರೆ, ಪಾರ್ಸರ್ ಪ್ರತಿ ವಿವರ ಬ್ಲಾಕ್ ಅನ್ನು Details ಕಾಲಮ್‌ನಲ್ಲಿ JSON ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಇದು ಉಪಯುಕ್ತ, ಆದರೆ ಇದು ರನ್‌ನ ಅತ್ಯಂತ ದುಬಾರಿಯಾದ ಭಾಗ ಮತ್ತು CSV ಅನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ.

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

ಕಾಲಮ್ ಇರುತ್ತದೆ ಆದರೆ ಖಾಲಿ; TCP/UDP ವಿವರ ಹೆಡರ್ ಲೈನ್ ಇನ್ನೂ Information ನಲ್ಲಿ ಲಭ್ಯವಿದೆ. ವಿವರ ಬ್ಲಾಕ್‌ಗಳು ಸಮೃದ್ಧವಾಗಿರುವ ಲಾಗ್‌ಗಳಲ್ಲಿ ಇದು ಪ್ರಕ್ರಿಯೆ ಸಮಯವನ್ನು 30–50% ಕಡಿಮೆ ಮಾಡಬಹುದು. ಪ್ರಶ್ನೆ ಮಟ್ಟದ ಮಾಹಿತಿ ಸಾಕಾಗಿದ್ದಾಗ ಇದನ್ನು ಬಳಸಿ.

-CompressOutput

ಉತ್ಪಾದಿತ CSV ಫೈಲ್‌ಗಳನ್ನು ಜಿಪ್ ಮಾಡಿ ಅನ್‌ಕಂಪ್ರೆಸ್ಡ್ ಫೈಲ್‌ಗಳನ್ನು ಅಳಿಸುತ್ತದೆ. dns.log dns.zip ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, dns.csv ಅಲ್ಲ.

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

ಈ ರೀತಿಯ CSV ಸಾಮಾನ್ಯವಾಗಿ 90% ಅಥವಾ ಹೆಚ್ಚು ಸಂಕುಚಿತವಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಇದು ಸಂಗ್ರಹಣೆ ಉಳಿತಾಯಕ್ಕೆ ಮತ್ತು ಜಾಲತಾಣದ ಮೂಲಕ ಫೈಲ್‌ಗಳನ್ನು ಕಳುಹಿಸಲು ಬಹಳ ಕಡಿಮೆ ವೆಚ್ಚದ ಪರಿಹಾರ.

-RemoveSourceFile

ಯಶಸ್ವಿ ಪರಿವರ್ತನೆಯ ನಂತರ ಮೂಲ .log ಅಳಿಸುತ್ತದೆ — ಎಲ್ಲಾ ಔಟ್‌ಪುಟ್ ಫೈಲ್‌ಗಳು ರಚಿಸಲ್ಪಟ್ಟಾಗ ಮಾತ್ರ ಲಾಗ್ ಅಳಿಸಲಾಗುತ್ತದೆ.

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

ಸುರಕ್ಷತಾ ಜಾಲಗಳು

-SkipHeaderValidation

ಡೀಫಾಲ್ಟ್ ಆಗಿ ಕಮಾಂಡ್ ಫೈಲ್ ನಿಜವಾಗಿಯೂ DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ ಆಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಇದು ತಪ್ಪಾಗಿ ಕೆಲಸವನ್ನು ತಪ್ಪು ಫೋಲ್ಡರ್‌ಗೆ ಸೂಚಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ.

ಇದನ್ನು ಮಾತ್ರ ನಿಜವಾಗಿಯೂ ಅಸಾಮಾನ್ಯ ಪ್ರಕರಣಗಳಿಗೆ ಆಫ್ ಮಾಡಿ: ಕೈಯಿಂದ ಸಂಪಾದಿಸಿದ ಲಾಗ್‌ಗಳು, ಪೂರ್ವ-ಫಿಲ್ಟರ್ ಮಾಡಿದ ಎಕ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್‌ಗಳು, ಕಸ್ಟಮ್ ಸ್ವರೂಪಗಳು. ಉಳಿದ ಎಲ್ಲಿಗೆ ಇದನ್ನು ಆನ್ ಇಡಿ — ಇದು ಕಡಿಮೆ ವೆಚ್ಚದ ಮತ್ತು ಟೈಪೋ ಮತ್ತು ಕಸದ ಸಾಲುಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ತಡೆಯುತ್ತದೆ.

-WhatIf ಮತ್ತು -Confirm

ಕಮಾಂಡ್ ಎರಡನ್ನೂ ಬೆಂಬಲಿಸುತ್ತದೆ. -WhatIf ಹೊಸ ಬ್ಯಾಚ್ ಕೆಲಸ ಏನು ಸ್ಪರ್ಶಿಸುವುದೆಂದು ನೋಡಲು ಸರಿಯಾದ ಮಾರ್ಗ:

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

-Confirm ಪ್ರತಿ ಫೈಲ್ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಮೊದಲು, ಮೂಲ ಫೈಲ್ ಅಳಿಸುವ ಮೊದಲು ಮತ್ತು ಇತ್ತೀಚಿನ ಔಟ್‌ಪುಟ್ ಮರುಬರೆಯುವ ಮೊದಲು ಕೇಳುತ್ತದೆ.

ಸಕ್ರಿಯ ಲಾಗ್‌ಗಳು

Convert-DNSDebugLogFile DNS ಸರ್ವರ್ ತೆರೆಯಿರುವ ಫೈಲ್ ಓದಬಹುದು. ಈಗಾಗಲೇ ಏನಾಗುತ್ತಿದೆ ಎಂಬುದರ ತಕ್ಷಣದ ದೃಷ್ಟಿಗಾಗಿ ಉಪಯುಕ್ತ.

ಒಟ್ಟುಗೂಡಿಸುವುದು

ಡೊಮೇನ್ ಕಂಟ್ರೋಲರ್‌ನಲ್ಲಿ ಸಾಮಾನ್ಯ ಉತ್ಪಾದನಾ ಕರೆ:

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

ಅರ್ಥ: ಸಕ್ರಿಯವಲ್ಲದ ಪ್ರತಿಯೊಂದು ತಿರುಗಿದ ಲಾಗ್ ತೆಗೆದುಕೊಳ್ಳಿ, ಕೇವಲ DNS ಟ್ರಾಫಿಕ್ ಉಳಿಸಿ, ಪ್ರತಿ ಸಾಲಿಗೆ ಸರ್ವರ್ ಹೆಸರಿನ ಲೇಬಲ್ ಹಾಕಿ, ಯಂತ್ರ ಓದಲು ಅನುಕೂಲವಾದ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳನ್ನು ಬರೆಯಿರಿ, ಮತ್ತು ಸಂಕುಚಿತ ಆರ್ಕೈವ್‌ಗಳನ್ನು ಉಳಿಸಿ. ಈ ಪೂರ್ಣ ನಿಯೋಜಿತ ಕಾರ್ಯ ಮತ್ತು ಗ್ರೂಪ್ ಪಾಲಿಸಿ ಆವೃತ್ತಿ GPO-ಚಾಲಿತ ಸಂಗ್ರಹಣಾ ಉದಾಹರಣೆ ನಲ್ಲಿ ಇದೆ.

4 - ಕಾರ್ಯಕ್ಷಮತೆ

ಪಾರ್ಸರ್ 100 MB ಲಾಗ್‌ಗಳನ್ನು ನಿಮ್ಮ ಸರ್ವರ್‌ನ ಮೆಮೊರಿಯನ್ನು ಬಳಸದೆ ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಪರಿವರ್ತನೆಗಳನ್ನು ವೇಗವಾಗಿ ಇಡಲು ನೀವು ಏನು ಮಾಡಬಹುದು.

ಬಿಸಿಯಾದ ಡೊಮೇನ್ ಕಂಟ್ರೋಲರ್‌ನಲ್ಲಿ DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳು ದೊಡ್ಡದಾಗಿರುತ್ತವೆ. Convert-DNSDebugLogFile ಅದಕ್ಕಾಗಿ ನಿರ್ಮಿಸಲಾಗಿದೆ: 100 MB ಮತ್ತು ಅದಕ್ಕೂ ಹೆಚ್ಚು ಲಾಗ್‌ಗಳೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯ ಸರ್ವರ್ ಹಾರ್ಡ್‌ವೇರ್‌ನಲ್ಲಿ ನಿಮಿಷಗಳಲ್ಲಿ ಅವುಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತದೆ.

ಇದು ವೇಗವಾಗಿರುವ ಕಾರಣ

ಮಾಡ್ಯೂಲ್ ಬಳಸಲು ನೀವು ಇದರಲ್ಲಿ ಏನೂ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾಗಿಲ್ಲ, ಆದರೆ ನೀವು ಗಮನಿಸುವ ವರ್ತನೆಯನ್ನು ಇದು ವಿವರಿಸುತ್ತದೆ.

ತಂತ್ರನೀವು ಗಮನಿಸುವ ಪರಿಣಾಮ
64 KB ಬಫರ್‌ಗಳೊಂದಿಗೆ StreamReader / StreamWriterಫೈಲ್ ಅನ್ನು ಒಂದು ದೊಡ್ಡ Get-Content ಬದಲು ತುಂಡುಗಳಾಗಿ ಓದುತ್ತದೆ ಮತ್ತು ಬರೆಯುತ್ತದೆ
ಸ್ಟ್ರೀಮಿಂಗ್, ಏಕ ಪಾಸ್ಲಾಗ್ ಎಷ್ಟು ದೊಡ್ಡದಾಗಿರಲಿ ಮೆಮೊರಿ ಬಳಕೆ ಸಮಾನವಾಗಿರುತ್ತದೆ
ಸ್ಟ್ರಿಂಗ್ ಆಪರೇಷನ್ಸ್ (.Substring(), .IndexOf()) ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಬದಲುಪ್ರತಿ ಸಾಲಿಗೆ ಕಡಿಮೆ CPU ಬಳಕೆ, ಮತ್ತು ಲಕ್ಷಾಂತರ ಸಾಲುಗಳಿವೆ
Export-Csv ಬದಲು ಕೈಯಿಂದ CSV ಬರೆಯುವುದುಪ್ರತಿ ದಾಖಲೆಗಾಗಿ ಯಾವುದೇ ಆಬ್ಜೆಕ್ಟ್ ಪೈಪ್‌ಲೈನ್ ಓವರ್‌ಹೆಡ್ ಇಲ್ಲ
ಅಂಕಿಅಂಶಗಳಿಗಾಗಿ ಹ್ಯಾಷ್‌ಟೇಬಲ್ ಆಧಾರಿತ ಸಂಗ್ರಹಣೆಅದೇ ಪಾಸ್‌ನಲ್ಲಿ ರೋಲ್ಅಪ್‌ಗಳು ಬಹಳ ಕಡಿಮೆ ವೆಚ್ಚದಲ್ಲಿ

ಮುಖ್ಯ ಪರಿಣಾಮ: ಸಂಪೂರ್ಣ ಲಾಗ್ ಅನ್ನು ಎಂದಿಗೂ ಮೆಮೊರಿಯಲ್ಲಿ ಹಿಡಿದಿಡುವುದಿಲ್ಲ. 500 MB ಲಾಗ್‌ಗೆ 500 MB RAM ಬೇಕಾಗುವುದಿಲ್ಲ. ಇದು ಮಾಡ್ಯೂಲ್ ಮತ್ತು “ಫೈಲ್ ಓದಿ, ವಿಭಜಿಸಿ, ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಿ” ಎಂಬ ಹೆಚ್ಚಿನ ಮನೆಮಾಡಿದ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸ — ಆ ವಿಧಾನ 5 MB ಮಾದರಿಯಲ್ಲಿ ಚೆನ್ನಾಗಿರುತ್ತದೆ ಆದರೆ ನಿಜವಾದ DC ಮೇಲೆ ವಿಫಲವಾಗುತ್ತದೆ.

ಓಟದಿಂದ ಹೆಚ್ಚು ಪಡೆಯುವುದು

ಒಂದು ದೊಡ್ಡ ಫೈಲ್ ಬದಲು ತಿರುಗಿದ ತುಂಡುಗಳನ್ನು ಪರಿವರ್ತಿಸಿ

DNS ಸರ್ವರ್ ಅನ್ನು ಲಾಗ್ ಅನ್ನು ನಿರ್ವಹಣೀಯ ಗಾತ್ರದಲ್ಲಿ ರೋಲ್‌ಓವರ್ ಮಾಡಲು ಸಂರಚಿಸಿ — 50 ರಿಂದ 200 MB ಉತ್ತಮ ವ್ಯಾಪ್ತಿಯಾಗಿದೆ. ಹಲವಾರು ಮಧ್ಯಮ ಗಾತ್ರದ ಫೈಲ್‌ಗಳು ನಿರೀಕ್ಷಿತ ಸಮಯದಲ್ಲಿ ಪರಿವರ್ತನೆ ಆಗುತ್ತವೆ ಮತ್ತು ನಿಯೋಜಿತ ಕೆಲಸವು ತನ್ನ ವಿಂಡೋ ಒಳಗೆ ಮುಗಿಯುತ್ತದೆ. ಒಂದು ನಿರಂತರವಾಗಿ ಬೆಳೆಯುವ ಫೈಲ್ ಕೊನೆಗೆ ಸಾಧ್ಯವಿಲ್ಲ.

ರೋಲ್‌ಓವರ್ ನಿಮಗೆ ಮುಚ್ಚಿದ ಫೈಲ್‌ಗಳನ್ನು ನೀಡುತ್ತದೆ, ಅದು ನೀವು ಬೇಕಾದದ್ದು:

Get-ChildItem "C:\Administration\Logs\DNSServer\*.log" |
    Sort-Object LastWriteTime -Descending |
    Select-Object -Skip 1 |
    Convert-DNSDebugLogFile -ComputerName $env:COMPUTERNAME

ನೀವು ಬೇಕಾಗದಿದ್ದರೆ ವಿವರ ಪಾರ್ಸಿಂಗ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡಿ

DNS ಸರ್ವರ್ ಸಂಪೂರ್ಣ ಪ್ಯಾಕೆಟ್ ವಿವರಗಳನ್ನು ಬರೆಯುತ್ತಿದ್ದರೆ, ಆ ಬ್ಲಾಕ್‌ಗಳನ್ನು JSON ಆಗಿ ಪರಿವರ್ತಿಸುವುದು ಪರಿವರ್ತನೆಯ ಅತ್ಯಂತ ದುಬಾರಿ ಭಾಗವಾಗಿದೆ.

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

ಬಹಳಷ್ಟು ವಿವರ ಬ್ಲಾಕ್‌ಗಳಿರುವ ಲಾಗ್‌ಗಳಲ್ಲಿ 30–50% ವೇಗವಾಗಿ ಓಟ ನಿರೀಕ್ಷಿಸಿ, ಜೊತೆಗೆ ಬಹಳ ಚಿಕ್ಕ CSV. ನೀವು ಇನ್ನೂ ಪ್ರಶ್ನಾ ಮಟ್ಟದ ಡೇಟಾ ಮತ್ತು TCP/UDP ವಿವರ ಹೆಡರ್ ಲೈನ್ ಅನ್ನು Information ನಲ್ಲಿ ಪಡೆಯುತ್ತೀರಿ. ನೋಡಿ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳು

ಮೊದಲೇ ಫಿಲ್ಟರ್ ಮಾಡಿ

-ContextFilter Packet ಸರ್ವರ್ ಟಿಪ್ಪಣಿಗಳು ಮತ್ತು ಘಟನೆಗಳನ್ನು ಬರೆಯುವ ಮೊದಲು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ. ಕಡಿಮೆ ಔಟ್‌ಪುಟ್ ಅಂದರೆ ಕಡಿಮೆ I/O, ಚಿಕ್ಕ ಫೈಲ್‌ಗಳು ಮತ್ತು ಕಡಿಮೆ ಮುಂದಿನ ಕೆಲಸ.

ನೀವು ಬೇಕಾದುದನ್ನು ಮಾತ್ರ ಕೇಳಿ

-OutputType Statistic ಸಾಲು ಮಟ್ಟದ CSV ಬರೆಯುವುದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬಿಟ್ಟುಬಿಡುತ್ತದೆ. ನಿಮ್ಮ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ದಿನನಿತ್ಯದ ಎಣಿಕೆಗಳನ್ನು ಮಾತ್ರ ತೋರಿಸಿದರೆ, ಇದು ಅತ್ಯಂತ ಕಡಿಮೆ ವೆಚ್ಚದ ಆಯ್ಕೆಯಾಗಿದೆ.

ಸ್ಥಳೀಯವಾಗಿ ಪರಿವರ್ತಿಸಿ, ಫಲಿತಾಂಶಗಳನ್ನು ಸ್ಥಳಾಂತರಿಸಿ

ಮಾಡ್ಯೂಲ್ SMB/UNC ಮಾರ್ಗಗಳನ್ನು ಓದುತ್ತದೆ, ಆದರೆ 200 MB ರಾ ಲಾಗ್ ಅನ್ನು ನೆಟ್‌ವರ್ಕ್ ಮೂಲಕ ಸೆಂಟ್ರಲ್‌ನಲ್ಲಿ ಪಾರ್ಸ್ ಮಾಡಲು ತಳ್ಳುವುದು ನಿಧಾನವಾಗಿದೆ. DNS ಸರ್ವರ್‌ನಲ್ಲಿ ಪರಿವರ್ತಿಸಿ, ನಂತರ (ಸಂಕುಚಿತ) CSV ಅನ್ನು ಸ್ಥಳಾಂತರಿಸಿ — ಅದು ಸಾಮಾನ್ಯವಾಗಿ ಬೈಟ್‌ಗಳ ಹತ್ತನೇ ಭಾಗವಾಗಿರುತ್ತದೆ. ಇದು GPO ಚಾಲಿತ ಸಂಗ್ರಹಣಾ ಉದಾಹರಣೆ ಹಿಂದೆ ಇರುವ ವಿನ್ಯಾಸ.

ವರ್ಗಾವಣೆ ಮತ್ತು ಆರ್ಕೈವ್‌ಗಾಗಿ ಸಂಕೋಚಿಸಿ

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

ಈ ರೀತಿಯ CSV ಸಾಮಾನ್ಯವಾಗಿ 90% ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚು ಕುಗ್ಗುತ್ತದೆ. ಸಂಕೋಚನೆ ಓಟದ ಕೊನೆಯಲ್ಲಿ ಸ್ವಲ್ಪ CPU ಬಳಕೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಂತರ ಡಿಸ್ಕ್ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಉಳಿಸುತ್ತದೆ.

ಓಟ ನಿರೀಕ್ಷಿತಕ್ಕಿಂತ ನಿಧಾನವಾಗಿದ್ದರೆ

ಈಗಳನ್ನು ಕ್ರಮವಾಗಿ ಪರಿಶೀಲಿಸಿ:

  1. ಡಿಸ್ಕ್, CPU ಅಲ್ಲ. ಪರಿವರ್ತನೆ I/O-ಭಾರವಾಗಿದೆ. ಬ್ಯುಸಿ ವಾಲ್ಯೂಮ್‌ನಲ್ಲಿ ಇರುವ ಲಾಗ್ ಅಥವಾ ನಿಧಾನ ಲಿಂಕ್ ಮೂಲಕ ಓದುವುದು ಓಟದ ಸಮಯವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
  2. ವಿವರ ಬ್ಲಾಕ್‌ಗಳು. ಲಾಗ್ ಸಂಪೂರ್ಣ ಪ್ಯಾಕೆಟ್ ವಿವರಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಮತ್ತು ನೀವು -NoDetailsParsing ಬಳಸಿರಲಿಲ್ಲ, ಅಲ್ಲಿ ಸಮಯ ಹೆಚ್ಚು ಹೋಗುತ್ತದೆ.
  3. ಫೈಲ್ ಗಾತ್ರ. ಒಂದು ಬಹು-ಗಿಗಾಬೈಟ್ ಲಾಗ್ ಯಾವಾಗಲೂ ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಇದನ್ನು ಪ್ಯಾರಾಮೀಟರ್‌ಗಳ ಮೂಲಕವಲ್ಲ, ರೋಲ್‌ಓವರ್ ಮೂಲಕ ಸರಿಪಡಿಸಿ.
  4. ಆಂಟಿವೈರಸ್. ಮೂಲ ಲಾಗ್ ಮತ್ತು ರಚಿಸಿದ CSV ಎರಡರನ್ನೂ ರಿಯಲ್-ಟೈಮ್ ಸ್ಕ್ಯಾನಿಂಗ್ ಮಾಡುವುದು ಪರಿಣಾಮಕಾರಿ I/O ವೆಚ್ಚವನ್ನು ದ್ವಿಗುಣಗೊಳಿಸುತ್ತದೆ. ಲಾಗ್ ಡೈರೆಕ್ಟರಿಗಾಗಿ ಹೊರತುಪಡಿಸುವಿಕೆ ಸಾಮಾನ್ಯ ಮತ್ತು ಯುಕ್ತಿಯುತ ಕ್ರಮ.
  5. ಮೆಮೊರಿ ಒತ್ತಡ. ಮಾಡ್ಯೂಲ್ ಸ್ಟ್ರೀಮಿಂಗ್ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಕಾರಣವಾಗಬಾರದು — ಆದರೆ ಸರ್ವರ್ ಈಗಾಗಲೇ ಸ್ವಾಪ್ ಆಗುತ್ತಿದ್ದರೆ ಎಲ್ಲವೂ ನಿಧಾನವಾಗುತ್ತದೆ.

ಹೆಚ್ಚಿನ ಲಕ್ಷಣಗಳು ಮತ್ತು ಪರಿಹಾರಗಳು ಟ್ರಬಲ್‌ಶೂಟಿಂಗ್ ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ.

5 - ವಿಶ್ಲೇಷಣಾ ಸಾಧನಗಳೊಂದಿಗೆ ಏಕೀಕರಣ

ಪರಿವರ್ತಿತ CSV ಅನ್ನು Excel, Power BI, SQL Server, SIEM ಅಥವಾ Python ನೋಟ್ಬುಕ್‌ಗೆ ಹೇಗೆ ತರುವುದೆಂದು — ಮೊದಲ ಪ್ರಯತ್ನದಲ್ಲೇ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಡೆಲಿಮಿಟರ್ ಮತ್ತು ದಿನಾಂಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ.

DNS ಡಿಬಗ್ ಲಾಗ್ ಅನ್ನು ಪರಿವರ್ತಿಸುವುದರ ಉದ್ದೇಶ ಮುಂದಿನ ಹಂತವೇ ಆಗಿದೆ. CSV ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ ಏಕೆಂದರೆ ಎಲ್ಲವೂ ಅದನ್ನು ಓದುತ್ತದೆ — ಆದರೆ “ಎಲ್ಲವೂ CSV ಓದುತ್ತದೆ” ಎಂಬುದು ಎರಡು ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರೆಮಾಚುತ್ತದೆ, ಅವು ಆಮದು ಸುಲಭವಾಗುತ್ತದೆಯೇ ಅಥವಾ ಮಧ್ಯಾಹ್ನದಷ್ಟು ಸಮಯ ಕಳೆಯಬೇಕಾಗುತ್ತದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸುತ್ತವೆ.

ಎಲ್ಲವನ್ನೂ ನಿರ್ಧರಿಸುವ ಎರಡು ಸೆಟ್ಟಿಂಗ್‌ಗಳು

ಡೆಲಿಮಿಟರ್. ಡೀಫಾಲ್ಟ್ ಆಗಿ ;. ದಶಮಲವಿನ ವಿಭಜಕವಾಗಿ ಕಮಾ ಬಳಸುವ ಸ್ಥಳೀಯತೆಗಳಲ್ಲಿ Excel ಗೆ ಇದನ್ನು ಉಳಿಸಿ. ಬಹುತೇಕ ಡೇಟಾಬೇಸ್‌ಗಳು ಮತ್ತು ಡೇಟಾ-ಸೈನ್ಸ್ ಉಪಕರಣಗಳಿಗೆ , ಗೆ ಬದಲಾಯಿಸಿ. ನೀವು ಏನು ಆಯ್ಕೆಮಾಡಿದರೂ, ಆಮದು ಮಾಡುವ ಬದಿಗೆ ಅದೇ ತಿಳಿಸಿ.

ದಿನಾಂಕ ಸ್ವರೂಪ. -OutputCulture ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳು ಹೇಗೆ ಬರೆಯಲ್ಪಡುವುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. ಯಂತ್ರದಿಂದ ಓದಲಾಗುವ ಯಾವುದೇ ಫೈಲ್‌ಗೆ, sv-SE (ಅಥವಾ ಇನ್ವೇರಿಯಂಟ್ ಸಂಸ್ಕೃತಿ) ಬಳಸಿ, ಹೀಗಾಗಿ DateTime ಹೀಗೆ ಬರುತ್ತದೆ: 2026-01-20 23:00:16:

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputCulture 'sv-SE'

ಕೆಳಗಿನ ಪ್ರತಿಯೊಂದು ಗ್ರಾಹಕ ಆ ಸ್ವರೂಪವನ್ನು ಯಾವುದೇ ಸೂಚನೆಯಿಲ್ಲದೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತದೆ. ಸ್ಥಳೀಯ ಸ್ವರೂಪವಾದ 20.01.2026 ಪಠ್ಯವಾಗಿ ಆಮದು ಆಗಬಹುದು ಅಥವಾ ಇನ್ನಷ್ಟು ಕೆಟ್ಟದಾಗಿ ತಿಂಗಳು/ದಿನ ಎಂದು ತಪ್ಪಾಗಿ ಓದಿಕೊಳ್ಳಬಹುದು.

Microsoft Excel

ಒಂದು ಪರಿವರ್ತಿತ ಲಾಗ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ನೋಡಲು.

  • ಡೀಫಾಲ್ಟ್ ; ಡೆಲಿಮಿಟರ್ ಮತ್ತು ಅದನ್ನು ನಿರೀಕ್ಷಿಸುವ ಸ್ಥಳೀಯತೆಯೊಂದಿಗೆ, ಡಬಲ್-ಕ್ಲಿಕ್ ಮಾಡಿದರೆ ಫೈಲ್ ಸರಿಯಾದ ಕಾಲಮ್‌ಗಳೊಂದಿಗೆ ತೆರೆಯುತ್ತದೆ.
  • ಎಲ್ಲವೂ ಕಾಲಮ್ A ಯಲ್ಲೇ ಬಂದರೆ, ಡೆಲಿಮಿಟರ್ ನಿಮ್ಮ Excel ಸೆಟ್ಟಿಂಗ್‌ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ. -Delimiter "," ಬಳಸಿ ಮರುಚಲಾಯಿಸಿ ಅಥವಾ Data → From Text/CSV ಮೂಲಕ ಆಮದು ಮಾಡಿ ಮತ್ತು ಅಲ್ಲಿ ಡೆಲಿಮಿಟರ್ ಆಯ್ಕೆಮಾಡಿ.
  • ರೇಂಜ್ ಅನ್ನು ಟೇಬಲ್ ಆಗಿ (Ctrl+T) ಪರಿವರ್ತಿಸಿ ಮತ್ತು ClientIP, QuestionName ಅಥವಾ QuestionType ಮೇಲೆ PivotTable ರಚಿಸಿ. ಟಾಪ್-ಟಾಕರ್ಸ್ ಮತ್ತು ಟಾಪ್-ಡೊಮೇನ್ಸ್ ಸುಮಾರು ಒಂದು ನಿಮಿಷ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.
  • ಕೆಲವು ಲಕ್ಷ ಸಾಲುಗಳಿಗಿಂತ ಹೆಚ್ಚು ಇದ್ದರೆ, ಬದಲಾಗಿ Power Query ಅಥವಾ ಕೆಳಗಿನ ಇತರ ಆಯ್ಕೆಗಳನ್ನು ಬಳಸಿ.

*_Statistic.csv ಮತ್ತು *_PacketStatistic.csv ಫೈಲ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಉತ್ತಮ Excel ಗುರಿಗಳಾಗಿವೆ — ಅವು ಪೂರ್ವಸಂಘಟಿತವಾಗಿವೆ ಮತ್ತು ಸಣ್ಣದಾಗಿರುತ್ತವೆ. Output Formats ನೋಡಿ.

Power BI

CSV ಫೈಲ್‌ಗಳನ್ನು ಆಮದು ಮಾಡಿ DNS ಚಟುವಟಿಕೆ, ಟಾಪ್ ಕ್ಲೈಂಟ್‌ಗಳು, ಪ್ರಶ್ನೆಗಳ ಪ್ರವೃತ್ತಿಗಳು ಮತ್ತು ದೋಷ ದರಗಳ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳನ್ನು ರಚಿಸಿ.

  • Power Query ಅನ್ನು ನಿಮ್ಮ ಪರಿವರ್ತಿತ ಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ಫೋಲ್ಡರ್ ಕಡೆಗೆ ಸೂಚಿಸಿ, ಒಂದೇ ಫೈಲ್ ಕಡೆಗೆ ಅಲ್ಲ. ಸರ್ವರ್‌ಗಳು ಮತ್ತು ದಿನಗಳಾದ್ಯಂತ ವಿನ್ಯಾಸ ಒಂದೇ ಆಗಿದ್ದು, ಫೈಲ್‌ಗಳು ಸರಳವಾಗಿ ಸೇರಿಕೊಳ್ಳುತ್ತವೆ.
  • ComputerName ಕಾಲಮ್ ಬಹು-ಸರ್ವರ್ ವರದಿಯನ್ನು ಸಾಧ್ಯಮಾಡುತ್ತದೆ — ಪರಿವರ್ತನೆಯಾಗುವಾಗ -ComputerName ಸೆಟ್ ಮಾಡಿ ಇಲ್ಲದಿದ್ದರೆ ಸರ್ವರ್ ಪ್ರಕಾರ ಕತ್ತರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
  • ResponseCode ಮತ್ತು QuestionType ಸಹಜ ಸ್ಲೈಸರ್‌ಗಳು; DateTime ನಿಮ್ಮ ಕಾಲ ಅಕ್ಷವಾಗುತ್ತದೆ.
  • ಪೂರ್ಣ ಡೇಟಾ ಫೈಲ್ ಬದಲು *_PacketStatistic.csv ನ್ನು Power BI ಗೆ ನೀಡಿದರೆ, ದಿನನಿತ್ಯದ ಪ್ರವೃತ್ತಿಗಳಿಗಾಗಿ ಮಾದರಿ ಸಣ್ಣದಾಗಿರುತ್ತದೆ.

SQL ಡೇಟಾಬೇಸ್‌ಗಳು

CSV ಅನ್ನು SQL Server, PostgreSQL ಅಥವಾ SQL ಮಾತನಾಡುವ ಯಾವುದೇ ವ್ಯವಸ್ಥೆಗೆ ಬಲ್ಕ್-ಲೋಡ್ ಮಾಡಿ, ದೀರ್ಘಕಾಲದ ಸಂಗ್ರಹಣೆ ಮತ್ತು ಪುನರಾವರ್ತಿತ ಪ್ರಶ್ನೆಗಳಿಗೆ.

ತಯಾರಾಗಿರುವ ಒಂದು ವಾಕ್ತ್ರು — ಟೇಬಲ್ ವ್ಯಾಖ್ಯಾನ, ಪರಿವರ್ತನೆ, SqlBulkCopy ಆಮದು, ಮತ್ತು ಸಂಶಯಾಸ್ಪದ TXT ಚಟುವಟಿಕೆಗಾಗಿ ಪತ್ತೆ ಪ್ರಶ್ನೆ — Security Analysis Workflow with SQL Server ನಲ್ಲಿ ದಾಖಲಿಸಲಾಗಿದೆ.

ಮೊದಲ ಆಮದುಗೆ ಮುಂಚಿತವಾಗಿ ಯೋಜಿಸಬೇಕಾದ ಅಂಶಗಳು:

  • ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳು datetime2 ಕಾಲಮ್‌ಗೆ ಯಾವುದೇ ಪರಿವರ್ತನೆ ತಂತ್ರವಿಲ್ಲದೆ ಬರುವಂತೆ -OutputCulture 'sv-SE' ಬಳಸಿ.
  • Information ಮತ್ತು Details ದೀರ್ಘವಾಗಬಹುದು; ಅವರಿಗೆ nvarchar(max) ನೀಡಿ.
  • ನೀವು ನಿಜವಾಗಿಯೂ ಪ್ರಶ್ನಿಸುವುದನ್ನು ಸೂಚ್ಯಂಕಗೊಳಿಸಿ — ಸಾಮಾನ್ಯವಾಗಿ DateTime, ClientIP ಮತ್ತು QuestionName.
  • ಸಾಲುಗಳು ಮಿಶ್ರಣವಾದ ನಂತರವೂ ಗುರುತಿಸಬಹುದಾಗಿರಲು -ComputerName ಅನ್ನು ತುಂಬಿಸಿ.

SIEM ವ್ಯವಸ್ಥೆಗಳು

Splunk, Elastic, Sentinel ಮತ್ತು ಇತರ ಸಮಾನ ವೇದಿಕೆಗಳು CSV ಅನ್ನು ಇತರ ಭದ್ರತಾ ಟೆಲಿಮೆಟ್ರಿ ಜೊತೆಗೆ ಸಂಯೋಜನೆ ಮತ್ತು ಎಚ್ಚರಿಕೆಗಾಗಿ ಸ್ವೀಕರಿಸುತ್ತವೆ.

  • ಸಂಕುಚಿತ ಔಟ್‌ಪುಟ್ (-CompressOutput) ಕಳುಹಿಸಿ — ಇದು ಅಂದಾಜು ಒಂದು ಹತ್ತು ಭಾಗದಷ್ಟು ಸಣ್ಣದು ಮತ್ತು ಹೆಚ್ಚಿನ ಸಂಗ್ರಾಹಕರು ಅದನ್ನು ಸ್ವತಃ ಅನ್ಪ್ಯಾಕ್ ಮಾಡುತ್ತಾರೆ.
  • ಫೀಲ್ಡ್ ಮ್ಯಾಪಿಂಗ್ ಒಂದೇ ಬಾರಿ ವ್ಯಾಖ್ಯಾನಿಸಿ; ಕಾಲಮ್ ವಿನ್ಯಾಸ ಓಟಗಳ ಅಥವಾ ಸರ್ವರ್‌ಗಳ ನಡುವೆ ಎಂದಿಗೂ ಬದಲಾಗುವುದಿಲ್ಲ, ಸದಾ ಇರುವ ಕೊನೆಯ ComputerName ಕಾಲಮ್ ಸಹ ಸೇರಿ.
  • ನಿಮ್ಮ ಸಂಗ್ರಾಹಕ ಡ್ಯುಪ್ಲಿಕೇಟ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಿ, ಅಥವಾ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದ .log ಫೈಲ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲಿ. ಅದೇ ರೋಟೇಟ್ ಮಾಡಿದ ಲಾಗ್‌ಗಳನ್ನು ಮರುಪ್ರಕ್ರಿಯೆ ಮಾಡುವ ಪರಿವರ್ತನೆ ಕೆಲಸ ಇಲ್ಲದಿದ್ದರೆ ಒಂದೇ ಸಾಲುಗಳನ್ನು ಮರು ಕಳುಹಿಸುತ್ತದೆ.
  • -ContextFilter Packet ಬಳಸಿ, ಸರ್ವರ್ ಟಿಪ್ಪಣಿಗಳು ನಿಮ್ಮ ಬಳಕೆ ಪ್ರಕರಣಗಳಲ್ಲಿ ಇಲ್ಲದಿದ್ದರೆ ಇನ್‌ಗೇಸ್ಟ್ ಪ್ರಮಾಣ (ಮತ್ತು ಪರವಾನಗಿ ವೆಚ್ಚ) ಕಡಿಮೆ ಮಾಡಬಹುದು.

Python, R ಮತ್ತು ಡೇಟಾ ಸೈನ್ಸ್ ಉಪಕರಣಗಳು

ಸಂರಚಿತ ಔಟ್‌ಪುಟ್ ಅನೋಮಲಿ ಪತ್ತೆ, ಬೇಸ್‌ಲೈನಿಂಗ್ ಮತ್ತು ಕಸ್ಟಮ್ ವಿಶ್ಲೇಷಣೆಗಳಿಗೆ ಸಿದ್ಧವಾಗಿದೆ.

import pandas as pd

df = pd.read_csv(
    r"C:\Administration\Logs\DNSServer\dns.csv",
    sep=";",
    parse_dates=["DateTime"],
)

# ಟಾಪ್ 20 ಪ್ರಶ್ನಿಸಿದ ಹೆಸರುಗಳು, ಕೇವಲ ಪ್ರಶ್ನೆಗಳು
top = (
    df[df["Direction"] == "Rcv"]
    .groupby("QuestionName")
    .size()
    .sort_values(ascending=False)
    .head(20)
)
print(top)

parse_dates ಅನ್ನು ನೀವು -OutputCulture 'sv-SE' ನೊಂದಿಗೆ ರಫ್ತು ಮಾಡಿದಾಗ ತಕ್ಷಣ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇಲ್ಲಿ pandas, scikit-learn ಅಥವಾ R ಸಾಮಾನ್ಯವಾಗಿ ಕ್ಲಸ್ಟರಿಂಗ್, ಋತುಚಕ್ರ ಮತ್ತು ಹೊರಗಿನ ಅಂಶ ಪತ್ತೆ ಮಾಡುತ್ತವೆ.

PowerShell ನಲ್ಲಿ ಉಳಿಯುವುದು

ತ್ವರಿತ ಉತ್ತರಕ್ಕಾಗಿ PowerShell ಬಿಟ್ಟು ಹೋಗಬೇಕಾಗಿಲ್ಲ:

$dns = Import-Csv "C:\Administration\Logs\DNSServer\dns.csv" -Delimiter ';'

# ಗದ್ದಲದಾಯಕ ಗ್ರಾಹಕರು
$dns | Where-Object Direction -eq 'Rcv' |
    Group-Object ClientIP |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

# ವಿಫಲವಾದ ಹುಡುಕಾಟಗಳು
$dns | Where-Object ResponseCode -eq 'NXDOMAIN' |
    Group-Object QuestionName |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

Import-Csv ಸಂಪೂರ್ಣ ಫೈಲ್ ಅನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಓದುತ್ತದೆ, ಆದ್ದರಿಂದ ಇದು ರೋಟೇಟ್ ಮಾಡಿದ ತುಂಡಿಗೆ ಸೂಕ್ತವಾಗಿದೆ ಮತ್ತು ಬಹು-ಗಿಗಾಬೈಟ್ ರಫ್ತಿಗೆ ಅಸೂಯಾಸ್ಪದವಾಗಿದೆ — ಅದಕ್ಕಾಗಿ ಡೇಟಾಬೇಸ್ ಮತ್ತು SIEM ಮಾರ್ಗಗಳು ಇವೆ.

6 - ಕಾರ್ಯಾಚರಣೆ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು

ಉತ್ಪಾದನಾ ಡೊಮೇನ್ ನಿಯಂತ್ರಕರ ಮೇಲೆ DNS ಲಾಗ್ ಪರಿವರ್ತನೆಯನ್ನು ನಿರೀಕ್ಷಣೆ ಇಲ್ಲದೆ ಓಡಿಸುವ ಮೊದಲು ಏನು ಸರಿಯಾಗಿರಬೇಕು.

ಲಾಗ್ ಅನ್ನು ಕೈಯಿಂದ ಪರಿವರ್ತಿಸುವುದು ಸುಲಭ. ಪ್ರತಿದಿನವೂ ಪ್ರತಿಯೊಂದು ಡೊಮೇನ್ ನಿಯಂತ್ರಕದಲ್ಲಿ, ವರ್ಷಗಳ ಕಾಲ, ಯಾರೂ ನೋಡದೆ ಅದನ್ನು ಓಡಿಸುವುದು ಸ್ವಲ್ಪ ವಿನ್ಯಾಸವನ್ನು ಅಗತ್ಯವಿದೆ. ಪ್ರಾಯೋಗಿಕವಾಗಿ ಗಮನಿಸಬೇಕಾದ ಅಂಶಗಳು ಇವು.

1. ಸಕ್ರಿಯ ಲಾಗ್ ಅಲ್ಲ, ತಿರುಗಿಸಲಾದ ಲಾಗ್‌ಗಳನ್ನು ಪರಿವರ್ತಿಸಿ

DNS ಸರ್ವರ್‌ನಲ್ಲಿ ಲಾಗ್ ರೋಲ್ಓವರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಮತ್ತು ಮುಚ್ಚಿದ ಫೈಲ್‌ಗಳನ್ನು ಮಾತ್ರ ಪರಿವರ್ತಿಸಿ. ಈ ಮೋಡ್ಯೂಲ್ ಸದ್ಯ DNS ಸರ್ವರ್ ಬರೆಯುತ್ತಿರುವ ಲಾಗ್ ಅನ್ನು ಓದಬಹುದು, ಆದರೆ ಆ ಫೈಲ್ ಪರಿವರ್ತನೆಯ ಮಧ್ಯದಲ್ಲಿ ಬದಲಾಗುತ್ತದೆ: ಹೊಸ ದಾಖಲೆಗಳು ಕಾಣಿಸದಿರಬಹುದು ಮತ್ತು ಕೊನೆಯ ದಾಖಲೆ ಕತ್ತರಿಸಬಹುದು. ಎರಡು ಓಟಗಳು ಎರಡು ವಿಭಿನ್ನ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುತ್ತವೆ.

ಸಾಮಾನ್ಯ ಮಾದರಿ ಹೊಸ ಫೈಲ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ:

Get-ChildItem "C:\Administration\Logs\DNSServer\*.log" |
    Sort-Object LastWriteTime -Descending |
    Select-Object -Skip 1 |
    Convert-DNSDebugLogFile -ComputerName $env:COMPUTERNAME

ಗಮನಿಸಬೇಕಾದ ವ್ಯತ್ಯಾಸ: ಕಡಿಮೆ ವಾಲ್ಯೂಮ್ ಸರ್ವರ್‌ನಲ್ಲಿ, ರೋಲ್ಓವರ್ ಒಂದು ದಿನಕ್ಕಿಂತ ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು, ಆದ್ದರಿಂದ ಆ ದಿನದ ಡೇಟಾ ಫೈಲ್ ತಿರುಗುವವರೆಗೆ ಪರಿವರ್ತಿಸಲಾಗುವುದಿಲ್ಲ. ರೋಲ್ಓವರ್ ಗಡಿಯನ್ನು ಅನುಗುಣವಾಗಿ ಆಯ್ಕೆಮಾಡಿ.

2. ಅದನ್ನು ವೇಳಾಪಟ್ಟಿ ಮಾಡಿ ಮತ್ತು ಕೆಲಸಕ್ಕೆ ಸರಿಯಾದ ಗುರುತನ್ನು ನೀಡಿ

ಟಾಸ್ಕ್ ಶೆಡ್ಯೂಲರ್ ಸಾಮಾನ್ಯವಾಗಿ ಇದಕ್ಕೆ ಬಳಸಲಾಗುತ್ತದೆ — ದೈನಂದಿನ ಕಾರ್ಯವು ಸೂಕ್ತ ಡೀಫಾಲ್ಟ್. ಡೊಮೇನ್ ನಿಯಂತ್ರಕರಿಗಾಗಿ ಪೂರ್ಣ ಗ್ರೂಪ್ ಪಾಲಿಸಿ ಅನುಷ್ಠಾನವನ್ನು GPO-ಚಾಲಿತ ಸಂಗ್ರಹಣಾ ಉದಾಹರಣೆ ನಲ್ಲಿ ದಾಖಲಾಗಿದೆ, ಮತ್ತು ಸ್ವತಂತ್ರ ಟಾಸ್ಕ್ ಅನ್ನು Scheduled Task ಉದಾಹರಣೆ ನಲ್ಲಿ ಕಾಣಬಹುದು.

ಇಲ್ಲಿ ಜನರನ್ನು ತೊಂದರೆಗೊಳಿಸುವ ಮೂರು ಅಂಶಗಳು:

  • ಮೋಡ್ಯೂಲ್ ಕಂಡುಹಿಡಿಯುವಿಕೆ. SYSTEM ಆಗಿ -NoProfile ಜೊತೆಗೆ ಓಡುತ್ತಿರುವ ಟಾಸ್ಕ್ ಯಂತ್ರ-ವ್ಯಾಪಕ ಮೋಡ್ಯೂಲ್ ಮಾರ್ಗಗಳನ್ನು ಮಾತ್ರ ನೋಡುತ್ತದೆ. ಮೋಡ್ಯೂಲ್ ಅನ್ನು ಯಂತ್ರ-ವ್ಯಾಪಕವಾಗಿ ಸ್ಥಾಪಿಸಿ ಅಥವಾ ಟಾಸ್ಕ್ ಕ್ರಿಯೆಯಲ್ಲಿ ಸ್ಪಷ್ಟ Import-Module ಸೇರಿಸಿ.
  • ಸಂಸ್ಕೃತಿ. ಟಾಸ್ಕ್ ಓಡಿಸುವ ಖಾತೆಗೆ ನೀವು ಇಂಟರಾಕ್ಟಿವ್ ಪರೀಕ್ಷಿಸಿದ ಭಾಷಾ ಪರಿಸರ ಇರದಿರಬಹುದು. ಡೀಫಾಲ್ಟ್ ಮೇಲೆ ಅವಲಂಬಿಸದೆ -InputCulture ಮತ್ತು -OutputCulture ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸಿ.
  • ನೆಟ್ವರ್ಕ್ ಪ್ರವೇಶ. ಮೂಲ ಅಥವಾ ಗುರಿ UNC ಮಾರ್ಗವಾಗಿದ್ದರೆ, SYSTEM ಕಂಪ್ಯೂಟರ್ ಖಾತೆಯಾಗಿ ಪ್ರಮಾಣೀಕರಿಸುತ್ತದೆ. ಕಂಪ್ಯೂಟರ್ ಖಾತೆಗೆ (ಅಥವಾ Domain Controllers ಗುಂಪಿಗೆ) ಹಂಚಿಕೆ ಮತ್ತು NTFS ಹಕ್ಕುಗಳನ್ನು ನೀಡಿ, ಅಥವಾ ಟಾಸ್ಕ್ ಅನ್ನು ವಿಶೇಷ ಸೇವಾ ಖಾತೆಯಾಗಿ ಓಡಿಸಿ.

3. ನೀವು ಪ್ರಕ್ರಿಯೆ ಮಾಡಬಹುದಾದ ಗಾತ್ರದಲ್ಲಿ ತಿರುಗಿಸಿ

ಪ್ರತಿ ಫೈಲ್‌ಗೆ 50–200 MB ಗಾತ್ರವು ಪರಿವರ್ತನೆಗಳನ್ನು ನಿರೀಕ್ಷಣೀಯವಾಗಿರಿಸುತ್ತದೆ ಮತ್ತು ರಾತ್ರಿ ಕೆಲಸವು ತನ್ನ ಸಮಯದಲ್ಲಿ ಮುಗಿಯುತ್ತದೆ. ಒಂದು ಫೈಲ್ ಎಂದಿಗೂ ಬೆಳೆಯುತ್ತಾ ಇದ್ದರೆ ಅದು ಸಾಧ್ಯವಿಲ್ಲ. ಕಾರ್ಯಕ್ಷಮತೆ ನೋಡಿ.

4. ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಮೊದಲು ಮೊದಲ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ

ನಿಜವಾದ ಎರಡು ಅಥವಾ ಮೂರು ಲಾಗ್‌ಗಳ ಮೇಲೆ ಪರಿವರ್ತನೆಯನ್ನು ಕೈಯಿಂದ ಓಡಿಸಿ ಮತ್ತು CSV ಅನ್ನು ನಿಜವಾಗಿಯೂ ತೆರೆಯಿರಿ:

  • ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳು ಸರಿಯಾಗಿದೆಯೇ — ದಿನ/ತಿಂಗಳು ಬದಲಾಯಿತೇ? (ಅದಾಗಿದ್ದರೆ -InputCulture ಹೊಂದಿಸಿ.)
  • ಡಿಲಿಮಿಟರ್ ನಿಮ್ಮ ಗ್ರಾಹಕನು ನಿರೀಕ್ಷಿಸುವದಕ್ಕೆ ಹೊಂದಿದೆಯೇ?
  • ComputerName ತುಂಬಿದೆಯೇ?
  • ನೀವು ಬೇಕಾದ ಸನ್ನಿವೇಶಗಳು ಇದ್ದವೆಯೇ ಮತ್ತು ಬೇಕಾಗದವುಗಳು ಫಿಲ್ಟರ್ ಆಗಿದೆಯೇ?

-WhatIf ಬ್ಯಾಚ್ ಯಾವ ಫೈಲ್‌ಗಳನ್ನು ಸ್ಪರ್ಶಿಸುವುದೆಂದು ಸ್ಪಷ್ಟಪಡಿಸುತ್ತದೆ:

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

5. ಪ್ರಕ್ರಿಯೆ ಮಾಡಿದ ಲಾಗ್‌ಗಳಿಗೆ ಏನು ಆಗುತ್ತದೆ ಎಂದು ನಿರ್ಧರಿಸಿ

“ಹೊಸತಾದ ಲಾಗ್ ಹೊರತುಪಡಿಸಿ ಪ್ರತಿಯೊಂದು ಲಾಗ್” ಅನ್ನು ಸರಳವಾಗಿ ಪರಿವರ್ತಿಸುವ ಕೆಲಸ ಪ್ರತಿದಿನ ಅದೇ ಫೈಲ್‌ಗಳನ್ನು ಮರುಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತದೆ. ಅದು ಬಲಿಷ್ಠ ಮತ್ತು ಸರಳ, ಆದರೆ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ಮರುಬರೆಯುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಸಂಗ್ರಹಿಸುವುದರಲ್ಲಿ ನಕಲಿ ಸಾಲುಗಳನ್ನು ಒತ್ತಬಹುದು.

ಒಂದು ಆಯ್ಕೆ ಮಾಡಿ:

  • ಪ್ರಕ್ರಿಯೆ ಮಾಡಿದ .log ಫೈಲ್‌ಗಳನ್ನು ಆರ್ಕೈವ್ ಫೋಲ್ಡರ್‌ಗೆ ಸ್ಥಳಾಂತರಿಸಿ
  • ಪೈಪ್‌ಲೈನ್ ಮೇಲೆ ನಂಬಿಕೆ ಬಂದ ಮೇಲೆ -RemoveSourceFile ಮೂಲಕ ಅಳಿಸಿ
  • ಕೆಳಗಿನ ಸಂಗ್ರಹಕವನ್ನು ನಕಲಿ ದಾಖಲೆಗಳನ್ನು ತೆಗೆದುಹಾಕುವಂತೆ ಮಾಡಿ

ಯಾವುದನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೂ, ಅದನ್ನು ಬರೆಯಿರಿ — ಇದು ಮುಂದಿನ ನಿರ್ವಾಹಕನಿಗೆ ಗೊಂದಲ ಉಂಟುಮಾಡದ ವಿವರ.

6. ಸಂಗ್ರಹಣೆ ಮತ್ತು ಸಂರಕ್ಷಣೆಯನ್ನು ಯೋಜಿಸಿ

ಸಂಕುಚಿತ (-CompressOutput) CSV ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ 90% ಅಥವಾ ಹೆಚ್ಚು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಆದರೆ ಪ್ರಮಾಣ ಇನ್ನೂ ಕೂಡ ಹೆಚ್ಚಾಗುತ್ತದೆ. ನಿಮ್ಮ ನಿಜವಾದ ಪ್ರಶ್ನೆ ದರ ಮತ್ತು ಸಂರಕ್ಷಣಾ ಬಾಧ್ಯತೆಯಿಂದ ಅಂದಾಜಿಸಿ, ಡೇಟಾ ಅನಂತವಾಗಿ ಬೆಳೆಯದಂತೆ ಅಂತಿಮ ದಿನಾಂಕವನ್ನು ಹೊಂದಿಸಿ.

-OutputType Statistic ಅನ್ನು ದೀರ್ಘಾವಧಿ ಸಂರಕ್ಷಣೆಗೆ ಪರಿಗಣಿಸುವುದು ಸೂಕ್ತ: ದೈನಂದಿನ ರೋಲ್ಅಪ್‌ಗಳು ಸಣ್ಣದಾಗಿದ್ದು, ಹಳೆಯ ಸಾಲು-ಮಟ್ಟದ ಡೇಟಾ ಕಾಯ್ದುಕೊಂಡಿದ್ದುದಕ್ಕೆ ಕಾರಣವಾದ ಪ್ರವೃತ್ತಿ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರ ನೀಡುತ್ತವೆ.

7. ಔಟ್‌ಪುಟ್ ಅನ್ನು ಸಂವೇದನಾಶೀಲವಾಗಿ ಪರಿಗಣಿಸಿ

ಪಾರ್ಸ್ ಮಾಡಿದ DNS ಲಾಗ್‌ಗಳು ನಿಮ್ಮ ಆಂತರಿಕ ಹೆಸರು ರಚನೆ ಮತ್ತು ಯಾರು ಏನು ಹುಡುಕಿದರೋ ವಿವರಿಸುತ್ತವೆ. ಅದು ಬಹುಮಟ್ಟಿಗೆ ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ ಲಾಗ್‌ಗಳಿಗಿಂತ ಹೆಚ್ಚು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ನ್ಯಾಯವ್ಯವಸ್ಥೆಯ ಅವಲಂಬನೆಯಂತೆ ಅದು ವೈಯಕ್ತಿಕ ಡೇಟಾ ಆಗಿರಬಹುದು.

  • ಔಟ್‌ಪುಟ್ ಫೋಲ್ಡರ್‌ಗಳ ಮೇಲೆ NTFS ಮತ್ತು ಹಂಚಿಕೆ ಅನುಮತಿಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ.
  • CSVಗಳನ್ನು ಸಾಮಾನ್ಯ ಉದ್ದೇಶದ ಫೈಲ್ ಹಂಚಿಕೆಯಲ್ಲಿ “ತಾತ್ಕಾಲಿಕವಾಗಿ” ಬಿಡಬೇಡಿ.
  • DNS ಲಾಗ್ ಡೇಟಾವನ್ನು ನಿಮ್ಮ ಸಂರಕ್ಷಣಾ ಮತ್ತು ಅಳಿಸುವ ನೀತಿಯಲ್ಲಿ ಸೇರಿಸಿ, ಕೇವಲ ಬ್ಯಾಕಪ್ ನೀತಿಯಲ್ಲಿ ಮಾತ್ರವಲ್ಲ.
  • ಸಂಕೋಚಿತ ಔಟ್‌ಪುಟ್ ಸಣ್ಣದಾಗಿರಬಹುದು, ರಕ್ಷಿತವಲ್ಲ — ಅಗತ್ಯವಿರುವಲ್ಲಿ ಎನ್‌ಕ್ರಿಪ್ಷನ್ ಅಥವಾ ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ಬಳಸಿ.

8. ಹೆಡರ್ ಪರಿಶೀಲನೆಯನ್ನು ಸಕ್ರಿಯವಾಗಿರಿಸಿ

ಫೈಲ್ ನಿಜವಾಗಿಯೂ DNS ಡಿಬಗ್ ಲಾಗ್ ಆಗಿದೆಯೇ ಎಂಬ ಡೀಫಾಲ್ಟ್ ಪರಿಶೀಲನೆ ಯಾವುದೇ ವೆಚ್ಚವಿಲ್ಲದೆ ತಪ್ಪು ಮಾರ್ಗವನ್ನು ಸಾವಿರಾರು ಅರ್ಥವಿಲ್ಲದ ಸಾಲುಗಳಾಗಿ ತಯಾರಾಗುವುದನ್ನು ತಡೆಯುತ್ತದೆ. -SkipHeaderValidation ಅನ್ನು ನಿಜವಾಗಿಯೂ ಅಸಾಮಾನ್ಯ ಸ್ವರೂಪಗಳಿಗೆ ಮಾತ್ರ ಬಳಸಿ — ಮತ್ತು ಈ ಕಾರಣಕ್ಕಾಗಿ ಆಜ್ಞೆ ಅದನ್ನು -RemoveSourceFile ಜೊತೆಗೆ ಸಂಯೋಜಿಸಲು ನಿರಾಕರಿಸುತ್ತದೆ.

9. ಸರ್ವರ್ ಮಾತ್ರವಲ್ಲ, ಕೆಲಸವನ್ನು ಕೂಡ ಗಮನಿಸಿ

ನಿರೀಕ್ಷಣೆ ಇಲ್ಲದೆ ನಡೆಯುವ ಪರಿವರ್ತನೆ ನಿಶ್ಶಬ್ದವಾಗಿ ನಿಲ್ಲುವುದು ಪರಿವರ್ತನೆ ಇಲ್ಲದಿರುವುದಕ್ಕಿಂತ ಕೆಟ್ಟದು, ಏಕೆಂದರೆ ಡೇಟಾ ಬೇಕಾದಾಗ ಮಾತ್ರ ಗ್ಯಾಪ್ ಗಮನಕ್ಕೆ ಬರುತ್ತದೆ.

  • ಶೂನ್ಯವಲ್ಲದ ದೋಷ ಔಟ್‌ಪುಟ್‌ಗೆ ಗಮನವಿಡಿ; GPO ಉಲ್ಲೇಖ ಅನುಷ್ಠಾನ $Error.Count -gt 0 ಆಗಿದ್ದಾಗ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಎಸೆದು ಟಾಸ್ಕ್ ವಿಫಲತೆಯನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ.
  • ಟಾಸ್ಕ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆಯೇ ಎಂಬುದರ ಬದಲು ಟಾಸ್ಕ್‌ನ ಕೊನೆಯ ಫಲಿತಾಂಶ ಕೋಡ್ ಮೇಲೆ ಎಚ್ಚರಿಕೆ ನೀಡಿರಿ.
  • ಔಟ್‌ಪುಟ್ ಫೈಲ್‌ಗಳು ಇತ್ತೀಚಿನ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳೊಂದಿಗೆ ನಿಜವಾಗಿಯೂ ಕಾಣಿಸುತ್ತಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.
  • ಲಾಗ್ ವಾಲ್ಯೂಮ್ ಮತ್ತು ಔಟ್‌ಪುಟ್ ಗುರಿಯ ಎರಡರಲ್ಲಿಯೂ ಖಾಲಿ ಡಿಸ್ಕ್ ಸ್ಥಳವನ್ನು ಗಮನಿಸಿ.

ವಿಫಲವಾದ ಓಟದ ಸಾಮಾನ್ಯ ಕಾರಣಗಳು — ಪ್ರವೇಶ ನಿರಾಕರಣೆ, ಲಾಗ್‌ಗಳ ಹಾಳಾಗಿರುವುದು, ಅಮಾನ್ಯ ಹೆಡರ್‌ಗಳು — ಸಮಸ್ಯೆ ಪರಿಹಾರ ನಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ.

10. ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ದಾಖಲೆ ಮಾಡಿ

ಲಾಗ್‌ಗಳು ಎಲ್ಲಿಗೆ ಬರೆಯಲ್ಪಡುತ್ತವೆ, ಕೆಲಸ ಯಾವಾಗ ಓಡುತ್ತದೆ, ಯಾವ ಪರಿಮಾಣಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಔಟ್‌ಪುಟ್ ಎಲ್ಲಿಗೆ ಹೋಗುತ್ತದೆ, ಯಾರು ಅದನ್ನು ಉಪಯೋಗಿಸುತ್ತಾರೆ ಮತ್ತು ಎಷ್ಟು ಕಾಲ ಕಾಯ್ದಿರಿಸಲಾಗುತ್ತದೆ. ನಿಮ್ಮ ಕಾರ್ಯಾಚರಣೆ ವಿಕಿಯಲ್ಲಿ ಆರು ಸಾಲುಗಳು. ಇದು ಸೆಟ್‌ಅಪ್ ಅನ್ನು ಪರಿಶೀಲನೀಯ ಮತ್ತು ಹಸ್ತಾಂತರಿಸಬಹುದಾದದ್ದು ಮಾಡುತ್ತದೆ.

7 - ಸಮಸ್ಯೆ ಪರಿಹಾರ

DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳನ್ನು ಪರಿವರ್ತಿಸುವಾಗ ನೀವು ಎದುರಿಸಬಹುದಾದ ಲಕ್ಷಣಗಳು, ಅವುಗಳ ಕಾರಣಗಳು, ಮತ್ತು ಅವುಗಳನ್ನು ಹೇಗೆ ಸರಿಪಡಿಸಬೇಕು ಎಂಬುದರ ಬಗ್ಗೆ.

“ಫೈಲ್ ಮಾನ್ಯವಾದ DNS ಡಿಬಗ್ ಲಾಗ್ ಫೈಲ್ ಅಲ್ಲ”

ಹೆಡರ್ ಪರಿಶೀಲನೆ ಇನ್‌ಪುಟ್ ಅನ್ನು ನಿರಾಕರಿಸಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಮಾರ್ಗ ಸರಿಯಿಲ್ಲ — ಅದೇ ಫೋಲ್ಡರ್‌ನಲ್ಲಿರುವ .log ಫೈಲ್ ಆದರೆ ಅದು DNS ಡಿಬಗ್ ಲಾಗ್ ಅಲ್ಲ, ಅಥವಾ ಕೇವಲ ರೋಟೇಟು ಮಾಡಿದ ಹೆಡರ್ ಅನ್ನು ಮಾತ್ರ ಹೊಂದಿರುವ ಫೈಲ್.

ಇದನ್ನು ಪರಿಶೀಲಿಸಿ:

  1. ಫೈಲ್ ತೆರೆಯಿರಿ. DNS ಡಿಬಗ್ ಲಾಗ್ Message logging started at … ಎಂಬ ಹೆಡರ್ ಲೈನ್‌ನಿಂದ ಪ್ರಾರಂಭವಾಗಿ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಹೊಂದಿರುವ ಕ್ವೇರಿ ಎಂಟ್ರಿಗಳೊಂದಿಗೆ ಮುಂದುವರಿಯುತ್ತದೆ.

  2. DNS ಡಿಬಗ್ ಲಾಗಿಂಗ್ ನಿಜವಾಗಿಯೂ ಸಕ್ರಿಯವಾಗಿದೆ ಮತ್ತು ನೀವು ನಿರೀಕ್ಷಿಸುವ ಮಾರ್ಗದಲ್ಲಿ ಬರೆಯುತ್ತಿದೆ ಎಂದು ದೃಢೀಕರಿಸಿ:

    Get-DnsServerDiagnostics | Select-Object Enable, LogFilePath, MaxMBFileSize
    
  3. ಫೈಲ್ ನಿಜವಾಗಿಯೂ DNS ಲಾಗ್ ಆಗಿದ್ದರೂ ಹೆಡರ್ ಅಸಾಮಾನ್ಯವಾಗಿದ್ದರೆ — ಕೈಯಿಂದ ಸಂಪಾದಿತ, ಪೂರ್ವ-ಫಿಲ್ಟರ್ ಮಾಡಲಾದ, ಕಸ್ಟಮ್ ಎಕ್ಸ್ಪೋರ್ಟ್ — ಪರಿಶೀಲನೆಯನ್ನು ಬಿಟ್ಟುಹೋಗಿ:

    Convert-DNSDebugLogFile -InputFile "C:\Logs\odd.log" -SkipHeaderValidation
    

ಇತರ ಎಲ್ಲ ಸ್ಥಳಗಳಲ್ಲಿ ಪರಿಶೀಲನೆಯನ್ನು ಸಕ್ರಿಯವಾಗಿರಿಸಿ. ಗಮನಿಸಿ -SkipHeaderValidation ಅನ್ನು -RemoveSourceFile ಜೊತೆಗೆ ಬಳಸಲಾಗುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಪರಿಶೀಲನೆ ಮಾಡದ ಫೈಲ್ ಅನ್ನು ಪರಿವರ್ತನೆಯಿಂದ ಅಳಿಸಲಾಗುವುದಿಲ್ಲ.

ಔಟ್‌ಪುಟ್ ಫೈಲ್ ಖಾಲಿ ಅಥವಾ ನಿರೀಕ್ಷಿತಕ್ಕಿಂತ ಬಹಳ ಕಡಿಮೆ ಸಾಲುಗಳಿವೆ

ಈ ಕ್ರಮದಲ್ಲಿ ಪರಿಶೀಲಿಸಿ:

  • ಲಾಗ್‌ನಲ್ಲಿ ಕ್ವೇರಿ ಎಂಟ್ರಿಗಳು ಇದ್ದವೆಯೇ? ಹೊಸದಾಗಿ ರೋಟೇಟು ಮಾಡಿದ ಲಾಗ್‌ನಲ್ಲಿ ಯಾವುದೇ ಕ್ವೇರಿ ಇಲ್ಲದಿದ್ದರೆ ಕೇವಲ ಹೆಡರ್ ಮಾತ್ರ ಇರಬಹುದು.
  • -ContextFilter ಬಳಸಲಾಗಿದೆಯೇ? -ContextFilter Packet ವಿನ್ಯಾಸದಂತೆ Event ಮತ್ತು Note ಎಂಟ್ರಿಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ನೀವು Event ಅಥವಾ Note ಗೆ ಫಿಲ್ಟರ್ ಮಾಡಿದರೆ, ಬಹುತೇಕ ಕಾಲಮ್‌ಗಳು ಖಾಲಿಯಾಗಿರುತ್ತವೆ — ಆ ಎಂಟ್ರಿ ಪ್ರಕಾರಗಳು ಕೇವಲ DateTime, ThreadId, Context ಮತ್ತು Information ಅನ್ನು ಹೊಂದಿರುತ್ತವೆ.
  • ಮೂಲ ಲಾಗ್ ಸಕ್ರಿಯವಾಗಿದೆಯೇ? DNS ಸರ್ವರ್ ಇನ್ನೂ ಬರೆಯುತ್ತಿರುವ ಫೈಲ್ ಪರಿವರ್ತನೆಯಾಗುತ್ತಿರುವಾಗ ಬದಲಾಯಿಸಬಹುದು; ಹೊಸ ಎಂಟ್ರಿಗಳು ಕಾಣಿಸದಿರಬಹುದು ಮತ್ತು ಕೊನೆಯ ದಾಖಲೆ ಕತ್ತರಿಸಬಹುದು. ಸಂಪೂರ್ಣ ಔಟ್‌ಪುಟ್ ಬೇಕಾದರೆ ರೋಟೇಟು ಆಗಿರುವ, ಮುಚ್ಚಿದ ಲಾಗ್ ಅನ್ನು ಪರಿವರ್ತಿಸಿ.
  • ಫೈಲ್ ಹಾಳಾಗಿದೆಯೇ ಅಥವಾ ಕತ್ತರಿಸಲ್ಪಟ್ಟಿದೆಯೇ? ಲಾಗ್‌ನ ಕೊನೆಯಲ್ಲಿ ಅರ್ಧವಾಗಿ ಬರೆಯಲಾದ ಲೈನ್ ಇದ್ದೇನೋ ನೋಡಿರಿ.

ದಿನಾಂಕಗಳು ತಪ್ಪಾಗಿವೆ, ಸರಿದಿಲ್ಲ, ಅಥವಾ ದಿನ ಮತ್ತು ತಿಂಗಳು ಬದಲಾಯಿಸಲಾಗಿದೆ

ಲಾಗ್ ಅನ್ನು ಪರಿವರ್ತಿಸುವ ಸೆಷನ್‌ನ Windows ಸ್ಥಳೀಯತೆ (locale) ಮತ್ತು ಲಾಗ್ ಬರೆಯಲಾದ ಸರ್ವರ್‌ನ ಸ್ಥಳೀಯತೆ ಭಿನ್ನವಾಗಿದೆ. 20.01.2026 ಮತ್ತು 01/20/2026 ಒಂದೇ ಕ್ಷಣವನ್ನು ಸೂಚಿಸುತ್ತವೆ, ಆದರೆ ಎರಡೂ ಕಡೆ ಫಾರ್ಮ್ಯಾಟ್ ಒಪ್ಪಿಕೊಂಡಿದ್ದರೆ ಮಾತ್ರ.

# ಲಾಗ್ ಜರ್ಮನ್ ಸರ್ವರ್‌ನಿಂದ ಬಂದಿದೆ
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns-berlin.log" -InputCulture 'de-DE'

ನಿಯೋಜಿತ ಕೆಲಸಗಳಲ್ಲಿ (scheduled jobs) -InputCulture ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸಿ, ಅದನ್ನು ಚಾಲನೆ ಮಾಡುವ ಖಾತೆಯ ಸಂಸ್ಕೃತಿಯನ್ನು ಅವಲಂಬಿಸಬೇಡಿ. ಔಟ್‌ಪುಟ್ ಯಂತ್ರ ಓದಲು ಸುಲಭವಾಗಬೇಕಾದರೆ -OutputCulture 'sv-SE' ಸೇರಿಸಿ. ವಿವರಗಳು ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳು ನಲ್ಲಿ.

ಆಮದು ಮಾಡಿದ ನಂತರ ಎಲ್ಲವೂ ಒಂದೇ ಕಾಲಮ್‌ನಲ್ಲಿ ಬರುತ್ತದೆ

ಡೆಲಿಮಿಟರ್ ಹೊಂದಾಣಿಕೆ ತಪ್ಪಾಗಿದೆ. ಮೋಡ್ಯೂಲ್ ಡೀಫಾಲ್ಟ್ ಆಗಿ ; ಅನ್ನು ಬರೆಯುತ್ತದೆ; ನಿಮ್ಮ ಗ್ರಾಹಕ , (ಅಥವಾ ಅದರ ವಿರುದ್ಧ) ನಿರೀಕ್ಷಿಸಿದ್ದಾನೆ.

ಗ್ರಾಹಕ ಬೇಕಾದ ಡೆಲಿಮಿಟರ್‌ನೊಂದಿಗೆ ಪರಿವರ್ತನೆಯನ್ನು ಮರುನಡೆಸಿರಿ:

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

…ಅಥವಾ ಆಮದು ಮಾಡುವಾಗ ಫೈಲ್ ಯಾವ ಡೆಲಿಮಿಟರ್ ಬಳಸುತ್ತದೆ ಎಂದು ತಿಳಿಸಿ — ಎಕ್ಸೆಲ್‌ನಲ್ಲಿ Data → From Text/CSV ಮೂಲಕ, ಪವರ್‌ಶೆಲ್‌ನಲ್ಲಿ Import-Csv -Delimiter ';' ಮೂಲಕ.

“ಪ್ರವೇಶ ನಿರಾಕರಿಸಲಾಗಿದೆ”

  • DNS ಲಾಗ್ ಡೈರೆಕ್ಟರಿ ಸಾಮಾನ್ಯವಾಗಿ ಆಡಳಿತಾಧಿಕಾರಗಳನ್ನು (administrative rights) ಅಗತ್ಯವಿರುತ್ತದೆ. ಪವರ್‌ಶೆಲ್ ಅನ್ನು ಎಲೆವೇಟೆಡ್ (elevated) ಆಗಿ ಪ್ರಾರಂಭಿಸಿ, ಅಥವಾ ಆಕ್ಸೆಸ್ ಇರುವ ಖಾತೆಯಿಂದ ನಿಯೋಜಿತ ಕಾರ್ಯವನ್ನು (scheduled task) ಚಾಲನೆ ಮಾಡಿ.
  • ಲಾಗ್ ಓದಲು ಮಾತ್ರವಲ್ಲ, ಔಟ್‌ಪುಟ್ ಡೈರೆಕ್ಟರಿಗೂ ಬರೆಯುವ ಹಕ್ಕು ಪರಿಶೀಲಿಸಿ.
  • SMB/UNC ಮಾರ್ಗಗಳಿಗಾಗಿ: SYSTEM ಖಾತೆಯಿಂದ ಕಾರ್ಯ ಚಾಲನೆ ಮಾಡಿದಾಗ ನೆಟ್ವರ್ಕ್‌ನಲ್ಲಿ ಕಂಪ್ಯೂಟರ್ ಖಾತೆ ಆಗಿ ಪ್ರಮಾಣೀಕರಿಸುತ್ತದೆ. ಆ ಕಂಪ್ಯೂಟರ್ ಖಾತೆಗೆ (ಅಥವಾ Domain Controllers ಗುಂಪಿಗೆ) ಶೇರ್ ಮತ್ತು NTFS ಹಕ್ಕುಗಳನ್ನು ನೀಡಿ, ಅಥವಾ ವಿಶೇಷ ಸೇವಾ ಖಾತೆಯನ್ನು ಬಳಸಿ.
  • -RemoveSourceFile ಯಶಸ್ವಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿದ ನಂತರ ವಿಫಲವಾದರೆ, ಆ ಖಾತೆಗೆ ಲಾಗ್ ಓದಲು ಸಾಧ್ಯ ಆದರೆ ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.

ಪ್ರಕ್ರಿಯೆ ಬಹಳ ನಿಧಾನವಾಗಿದೆ

  1. ಮೊದಲು ಡಿಸ್ಕ್ ಪರಿಶೀಲಿಸಿ — ಪರಿವರ್ತನೆ I/O-ಬಂಧಿತವಾಗಿದೆ. ಬ್ಯುಸಿ ವಾಲ್ಯೂಮ್ ಅಥವಾ ನಿಧಾನ ನೆಟ್ವರ್ಕ್ ಮಾರ್ಗ ಸಮಯವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
  2. ಪ್ಯಾಕೆಟ್-ವಿವರ JSON ಬೇಕಾಗದಿದ್ದರೆ -NoDetailsParsing ಬಳಸಿ; ವಿವರ ಭರಿತ ಲಾಗ್‌ಗಳಲ್ಲಿ ಇದು 30–50% ಸಮಯ ಉಳಿಸುತ್ತದೆ.
  3. ಕಡಿಮೆ ಬರೆಯಲು -ContextFilter Packet ಬಳಸಿ.
  4. ಒಂದು ದೊಡ್ಡ ಫೈಲ್ ಪರಿವರ್ತಿಸುವ ಬದಲು DNS ಸರ್ವರ್ ಲಾಗ್ ರೋಲ್ಓವರ್ ಬಳಸಿ ದೊಡ್ಡ ಲಾಗ್‌ಗಳನ್ನು ವಿಭಜಿಸಿ.
  5. ಲಾಗ್ ಡೈರೆಕ್ಟರಿಗಾಗಿ ಆಂಟಿವೈರಸ್ ಹೊರತುಪಡಿಸುವಿಕೆ (exclusion) ಪರಿಗಣಿಸಿ.

ಹೆಚ್ಚು ಮಾಹಿತಿಗೆ ಕಾರ್ಯಕ್ಷಮತೆ ನೋಡಿ.

ಸಂಕುಚಿತ ಔಟ್‌ಪುಟ್ ನಿರೀಕ್ಷಿತಕ್ಕಿಂತ ದೊಡ್ಡದಾಗಿದೆ

ಬಹುಮಟ್ಟಿಗೆ ವಿಭಿನ್ನ ವಿಷಯ ಹೊಂದಿರುವ ಲಾಗ್‌ಗಳು — ಅನೇಕ ವಿಭಿನ್ನ ಡೊಮೇನ್‌ಗಳು, ಅನೇಕ ವಿಭಿನ್ನ ಕ್ಲೈಂಟ್‌ಗಳು — ಪುನರಾವರ್ತಿತ ಲಾಗ್‌ಗಳಿಗಿಂತ ಕಡಿಮೆ ಸಂಕುಚಿತವಾಗುತ್ತವೆ. ಇದು ಸಾಮಾನ್ಯ. ZIP ಸಾಮಾನ್ಯವಾಗಿ ಸಾಕಷ್ಟು ಕಡಿತ ಸಾಧಿಸುತ್ತದೆ; ಕಡಿತವಾಗದಿದ್ದರೆ Details ಕಾಲಮ್ ಫೈಲ್ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತಿದೆಯೇ ಮತ್ತು ಅದನ್ನು ನೀವು ನಿಜವಾಗಿಯೂ ಬೇಕಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.

ಅಂಕಿಅಂಶಗಳು ನಾನು ನಿರೀಕ್ಷಿಸಿದಂತೆ ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ

  • ನೀವು -OutputType Both ಅಥವಾ -OutputType Statistic ಬಳಸಿದ್ದೀರಾ ಎಂದು ದೃಢೀಕರಿಸಿ. -OutputType CSV ಬಳಿಸಿದರೆ ಯಾವುದೇ ಅಂಕಿಅಂಶ ಫೈಲ್‌ಗಳು ಬರೆಯಲಾಗುವುದಿಲ್ಲ.
  • Count ಒಟ್ಟು ಸಂಖ್ಯೆಯಾಗಿದೆ, ವಿಭಿನ್ನ ಸಂಖ್ಯೆಯಲ್ಲ. ಒಂದು ಕ್ಲೈಂಟ್ ಒಂದೇ ಹೆಸರಿಗಾಗಿ 500 ಬಾರಿ ಕೇಳಿದರೆ 500 ಆಗಿ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಇದು “ಅಂಕಿ ಸರಿಯಾಗಿಲ್ಲ” ಎಂಬುದರ ಪ್ರಮುಖ ಕಾರಣ.
  • ಅಂಕಿಅಂಶಗಳು ದಿನಾಂಕ ಪ್ರಕಾರ ಗುಂಪು ಮಾಡಲ್ಪಟ್ಟಿವೆ. ಎರಡು ದಿನಗಳನ್ನು ಒಳಗೊಂಡ ಲಾಗ್ ಎರಡೂ ದಿನಗಳ ಸಾಲುಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.
  • ಅಂಕಿಅಂಶ ಫೈಲ್‌ಗಳಲ್ಲಿ ComputerName ಖಾಲಿಯಾಗಿದ್ದರೆ, ಪರಿವರ್ತನೆಯಾಗುತ್ತಿರುವಾಗ -ComputerName ಹೊಂದಿಸಲಾಗಿರಲಿಲ್ಲ.

ನಿಯೋಜಿತ ಕಾರ್ಯ ಇಂಟರಾಕ್ಟಿವ್ ಆಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಆದರೆ ಟಾಸ್ಕ್ ಆಗಿ ಅಲ್ಲ

ಬಹುಶಃ ಈ ಮೂರು ವಿಷಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ:

  • ಮೋಡ್ಯೂಲ್ ಕಂಡುಬರಲಿಲ್ಲ. SYSTEM -NoProfile ಜೊತೆಗೆ ಯಂತ್ರ-ವ್ಯಾಪಕ ಮೋಡ್ಯೂಲ್ ಮಾರ್ಗಗಳನ್ನು ಮಾತ್ರ ನೋಡುತ್ತದೆ. ಮೋಡ್ಯೂಲ್ ಅನ್ನು ಯಂತ್ರ-ವ್ಯಾಪಕವಾಗಿ ಸ್ಥಾಪಿಸಿ ಅಥವಾ ಟಾಸ್ಕ್ ಕ್ರಿಯೆಯಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ Import-Module DNSServer.DebugLogParser ಸೇರಿಸಿ.
  • ತಪ್ಪಾದ ಸಂಸ್ಕೃತಿ. ಟಾಸ್ಕ್ ಖಾತೆಯ ಸ್ಥಳೀಯತೆ ನಿಮ್ಮದರಿಂದ ಭಿನ್ನವಾಗಿದೆ. -InputCulture ಮತ್ತು -OutputCulture ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸಿ.
  • ನಿರ್ವಹಣಾ ನೀತಿ ಅಥವಾ ಅಸೈನ್ ಮಾಡಿದ ಸ್ಕ್ರಿಪ್ಟ್. ಟಾಸ್ಕ್‌ನ -ExecutionPolicy ಅನ್ನು ನಿಮ್ಮ ಸಹಿ ನೀತಿಗೆ ಹೊಂದಿಸಿ, ಮತ್ತು ಬೇರೆಡೆಗಳಿಂದ ನಕಲಿಸಿದ ಫೈಲ್‌ಗಳನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ.

ಅದನ್ನು ಪುನರಾವರ್ತಿಸಲು ಅದೇ ಸನ್ನಿವೇಶದಲ್ಲಿ (ಉದಾಹರಣೆಗೆ PsExec ಮೂಲಕ SYSTEM ಆಗಿ) ಟಾಸ್ಕ್ ಕಮಾಂಡ್ ಲೈನ್ ಅನ್ನು ಕೈಯಿಂದ ಚಾಲನೆ ಮಾಡಿ.

ಸಮಸ್ಯೆಯನ್ನು ವರದಿ ಮಾಡುವುದು

ಇವುಗಳಲ್ಲಿ ಯಾವುದೂ ಸಹಾಯ ಮಾಡದಿದ್ದರೆ:

  1. ಇತ್ತೀಚಿನ ಮೋಡ್ಯೂಲ್ ಆವೃತ್ತಿಗೆ ನವೀಕರಿಸಿ ಮತ್ತು ಮರುಪ್ರಯತ್ನಿಸಿ.

  2. GitHub issues ನಲ್ಲಿ ಅದೇ ಲಕ್ಷಣಕ್ಕಾಗಿ ಹುಡುಕಿ.

  3. ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್ ಸಂಗ್ರಹಿಸಿ:

    $PSVersionTable
    Get-Module DNSServer.DebugLogParser -ListAvailable | Select-Object Name, Version, Path
    Get-Culture
    

    ಜೊತೆಗೆ ನೀವು ನಡೆಸಿದ ನಿಖರ ಕಮಾಂಡ್, ಪೂರ್ಣ ದೋಷ ಸಂದೇಶ ಮತ್ತು ಸ್ಟ್ಯಾಕ್ ಟ್ರೇಸ್, ಮತ್ತು ಸಾಧ್ಯವಾದರೆ ಸಮಸ್ಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸುವ ಲಾಗ್‌ನ ಸಣ್ಣ ಅನಾಮಧೇಯ ಭಾಗವನ್ನು ಹಂಚಿಕೊಳ್ಳಿ.

  4. ಆ ಮಾಹಿತಿಯೊಂದಿಗೆ ಹೊಸ ಇಶ್ಯೂ ತೆರೆಯಿರಿ.

8 - ಮೋಡ್ಯೂಲ್ ಕಮಾಂಡ್‌ಗಳ ರೆಫರೆನ್ಸ್

ಇಲ್ಲಿ, ನೀವು ಮೋಡ್ಯೂಲ್‌ನ ಎಲ್ಲಾ ಕಮಾಂಡ್‌ಗಳಿಗಾಗಿ ರೆಫರೆನ್ಸ್ ಅನ್ನು ಕಾಣಬಹುದು. ಈ ರೆಫರೆನ್ಸ್ ನಿಮಗೆ ಬೇಕಾದ ಕಮಾಂಡ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ಹುಡುಕಲು ಮತ್ತು ಅದನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸುವ ವಿಧಾನವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.

ಒಂದು ಕಮಾಂಡ್ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿದರೆ, ನೀವು ಆ ಕಮಾಂಡ್ ಕುರಿತು ಸಂಪೂರ್ಣ ಮಾಹಿತಿಯನ್ನು ನೀಡುವ ವಿವರವಾದ ಪುಟಕ್ಕೆ ಹೋಗುತ್ತೀರಿ, ಇದರಲ್ಲಿ ಅದರ ಸಿಂಟ್ಯಾಕ್ಸ್, ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು, ಉದಾಹರಣೆಗಳು ಮತ್ತು ಬಳಕೆಗೆ ಸಂಬಂಧಿಸಿದ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಟಿಪ್ಪಣಿಗಳು ಅಥವಾ ಸಲಹೆಗಳು ಸೇರಿವೆ.

8.1 - Convert-DNSDebugLogFile

SYNOPSIS

Windows 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]

ALIASES

ಈ cmdlet ಗೆ ಕೆಳಗಿನ ಉಪನಾಮಗಳಿವೆ,

DESCRIPTION

Windows DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ ಫೈಲ್‌ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು Excel, Power BI, SQL ಡೇಟಾಬೇಸ್‌ಗಳು ಅಥವಾ SIEM ಸಾಧನಗಳಲ್ಲಿ ಬಳಸಬಹುದಾದ ರಚನೆಗೊಂಡ CSV ಡೇಟಾಗಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
ಸುರಕ್ಷತಾ ವಿಶ್ಲೇಷಣೆ, ಕಾರ್ಯಕ್ಷಮತೆ ಮಾನಿಟರಿಂಗ್, ಸಮಸ್ಯೆ ಪರಿಹಾರ ಮತ್ತು ಅನುಕೂಲತಾ ವರದಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.

cmdlet DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ ವಿಶ್ಲೇಷಣೆಗೆ ಸुसಂಗತ CSV ಔಟ್‌ಪುಟ್ ಅನ್ನು ಬರೆಯುತ್ತದೆ.
CSV ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ 18 ಕಾಲಮ್‌ಗಳಿವೆ, ಅವುಗಳಲ್ಲಿ Information ಕಾಲಮ್ ಇವೆಂಟ್/ನಿರ್ಣಾಯಕ ಪಠ್ಯಕ್ಕಾಗಿ, ಐಚ್ಛಿಕ Details JSON ಕಾಲಮ್ ಪ್ಯಾಕೆಟ್ ವಿವರ ಬ್ಲಾಕ್‌ಗಳಿಗೆ ಮತ್ತು ಸದಾ ಇರುವ ComputerName ಕಾಲಮ್ (ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ ಖಾಲಿ).

ಪ್ರಮುಖ ವೈಶಿಷ್ಟ್ಯಗಳು:

  • ಸ್ಟ್ರೀಮಿಂಗ್ ಪ್ರಕ್ರಿಯೆ ಸಂಪೂರ್ಣ ಫೈಲ್ ಅನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಲೋಡ್ ಮಾಡದೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ (ಬಹಳ ದೊಡ್ಡ ಲಾಗ್‌ಗಳಿಗೆ ಸೂಕ್ತ)
  • 100MB+ ದೊಡ್ಡ ಫೈಲ್‌ಗಳಿಗೆ ಉನ್ನತ ಕಾರ್ಯಕ್ಷಮತೆ ಪಾರ್ಸಿಂಗ್
  • ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದಾದ CSV ಡಿಲಿಮಿಟರ್ (ಡೀಫಾಲ್ಟ್: ಸೆಮಿಕೋಲನ್)
  • ಐಚ್ಛಿಕ ಸಾಂಖ್ಯಿಕ ಸಾರಾಂಶಗಳು ಮತ್ತು ಸಂಗ್ರಹಿತ ಮೆಟ್ರಿಕ್‌ಗಳು
  • ನಿರ್ದಿಷ್ಟ ಲಾಗ್ ಎಂಟ್ರಿ ಪ್ರಕಾರಗಳ ಮೇಲೆ ಗಮನಹರಿಸಲು ಕಾಂಟೆಕ್ಸ್ಟ್ ಫಿಲ್ಟರಿಂಗ್ (ಪ್ಯಾಕೆಟ್, ಇವೆಂಟ್, ನೋಟ್ ಮತ್ತು ಹೆಚ್ಚುವರಿ ಕಾಂಟೆಕ್ಸ್ಟ್‌ಗಳು)
  • ಅಂತರರಾಷ್ಟ್ರೀಯ ಸರ್ವರ್‌ಗಳಿಗೆ ಸಂಸ್ಕೃತಿ-ಅನುರೂಪ ದಿನಾಂಕ ಪಾರ್ಸಿಂಗ್ ಮತ್ತು ಫಾರ್ಮ್ಯಾಟಿಂಗ್
  • ಬಹು ಫೈಲ್‌ಗಳ ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆಗೆ ಪೈಪ್‌ಲೈನ್ ಬೆಂಬಲ
  • ಔಟ್‌ಪುಟ್ ಫೈಲ್‌ಗಳ ಐಚ್ಛಿಕ ಸಂಕುಚಿತ (ZIP ಸ್ವರೂಪ)
  • ಪ್ರಕ್ರಿಯೆ ನಂತರ ಮೂಲ ಫೈಲ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೆಗೆದುಹಾಕುವ ಆಯ್ಕೆ
  • ಡೇಟಾ ಅಖಂಡತೆಯನ್ನು ಖಚಿತಪಡಿಸಲು ಹೆಡರ್ ಮಾನ್ಯತೆ

ಔಟ್‌ಪುಟ್ ಸ್ವರೂಪ:
ಪ್ರತಿ ದಾಖಲೆ ಕೊನೆಯಲ್ಲಿ ComputerName ಕಾಲಮ್ ಸದಾ ಸೇರಿಸಲಾಗುತ್ತದೆ.
-ComputerName ಪರಿಮಾಣವನ್ನು ನೀಡದಿದ್ದರೆ, ಕಾಲಮ್ ಖಾಲಿಯಾಗಿರುತ್ತದೆ.
ಇದು ಬಹು-ಸರ್ವರ್ ಸಂಯೋಜನೆ ಸಂದರ್ಭಗಳಿಗೆ ಸुसಂಗತ ಔಟ್‌ಪುಟ್ ರಚನೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಕಾರ್ಯಕ್ಷಮತೆ:
64KB ಬಫರ್‌ಗಳೊಂದಿಗೆ StreamReader/StreamWriter ಬಳಸಿ, ಮೆಮೊರಿ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಸ್ಟ್ರೀಮಿಂಗ್ ಪ್ರಕ್ರಿಯೆ, regex ಬದಲು ಸ್ಟ್ರಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಗಳು, ಕೈಯಿಂದ CSV ರಚನೆ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ hashtable ಆಧಾರಿತ ಸಾಂಖ್ಯಿಕ ಸಂಗ್ರಹಣೆ.

ಸಮ್ಮಿಲನ:

  • PowerShell 5.1+ (ಡೆಸ್ಕ್‌ಟಾಪ್ ಮತ್ತು ಕೋರ್ ಆವೃತ್ತಿಗಳು)
  • Windows Server 2016+
  • DNS Server 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 ಸರ್ವರ್‌ಗಳಿಂದ ಲಾಗ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸುವಾಗ ಮೂಲ ಸರ್ವರ್ ಗುರುತಿಸಲು ಇದನ್ನು ಬಳಸಿ.

ಗಮನಿಸಿ: ಇದು ರಿಮೋಟಿಂಗ್ ಪರಿಮಾಣವಲ್ಲ.
ಇದು ಕೇವಲ ಔಟ್‌ಪುಟ್‌ಗೆ ಲೇಬಲ್ ನೀಡುತ್ತದೆ.
-InputFile ಗೆ UNC ಪಥವನ್ನು ಸೂಚಿಸಿದರೆ, ಫೈಲ್ ಆ ಪಥದಿಂದ ಓದಲಾಗುತ್ತದೆ (WinRM/ರಿಮೋಟ್ ಕಾರ್ಯಾಚರಣೆ ನಡೆಯುವುದಿಲ್ಲ).

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

-InputCulture

DNS ಡಿಬಗ್ ಲಾಗ್‌ನ ದಿನಾಂಕ/ಸಮಯ ಮೌಲ್ಯಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಬಳಸುವ ಸಂಸ್ಕೃತಿ/ಸ್ಥಳೀಯತೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ.

DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್‌ಗಳು ಲಾಗ್ ಸೃಷ್ಟಿಸಿದ ಸರ್ವರ್‌ನ Windows ಸ್ಥಳೀಯತೆಯ ದಿನಾಂಕ ಸ್ವರೂಪವನ್ನು ಬಳಸುತ್ತವೆ.
ವಿಭಿನ್ನ ಪ್ರಾದೇಶಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಸರ್ವರ್‌ಗಳಿಂದ ಲಾಗ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡುವಾಗ ಈ ಪರಿಮಾಣವನ್ನು ಬಳಸಿ.

ಡೀಫಾಲ್ಟ್: ಪ್ರಸ್ತುತ ಸಂಸ್ಕೃತಿ

ಸಾಮಾನ್ಯ ಉದಾಹರಣೆಗಳು:

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

-InputFile

ಪಾರ್ಸ್ ಮಾಡಲು 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: ''

-SkipHeaderValidation

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.

INPUTS

System.String[]

NOTES

Version : 1.7.2.1
Author : Andi Bellstedt, Copilot, Patrick Charbonnier (Silent Waters IT Consulting S.L.)
Date : 2026-07-24
Keywords : Microsoft Windows Server, DNSServer, DNS, DebugLog, LogParser

9 - ಬಳಕೆ ಉದಾಹರಣೆಗಳು

ನೀವು ಇಲ್ಲಿ ಈ ಮೋಡ್ಯೂಲ್ ಅನ್ನು ನೈಜ ಜಗತ್ತಿನ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಹೇಗೆ ಬಳಸಬಹುದು ಎಂಬ ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದು. ಈ ಉದಾಹರಣೆಗಳು ಮೋಡ್ಯೂಲ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೇಗೆ ಅನ್ವಯಿಸಬೇಕು ಎಂಬುದನ್ನು ನಿಮಗೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ.

ಇವು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಆಳವಾದ ಮತ್ತು ಸಂದರ್ಭಪೂರ್ಣ ಉದಾಹರಣೆಗಳು. ನೀವು ಮೋಡ್ಯೂಲ್‌ನ ಆಜ್ಞೆಗಳ ಬಳಕೆಯನ್ನು ಮಾತ್ರ ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸಿದರೆ, command reference ಅನ್ನು ಪರಿಶೀಲಿಸಿ.

9.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 ಗಳಲ್ಲಿ ಸुसಂಗತ ಪರಿವರ್ತನೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು
  • ನಿರೀಕ್ಷಿತ ಔಟ್‌ಪುಟ್ ಸ್ಥಳ ಮತ್ತು ಹೆಸರು
  • ಸಂಗ್ರಹಣಾ ಜಾಗವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಐಚ್ಛಿಕ ಸಂಕುಚಿತತೆ
  • ದೈನಂದಿನ ತ್ವರಿತ rollup ಗಾಗಿ ಐಚ್ಛಿಕ ಅಂಕಿಅಂಶ ಔಟ್‌ಪುಟ್‌ಗಳು
  • ಅತೀ ಕಡಿಮೆ ಹೋಸ್ಟ್-ಪಾರ್ಶ್ವದ ಅಪಾಯ, ಸ್ಪಷ್ಟ ಪುನರಾರಂಭ ಮತ್ತು ಸ್ವಚ್ಛತೆ ಪರಿಗಣನೆಗಳೊಂದಿಗೆ

ಶಿಫಾರಸು ಮಾಡಿದ ವಾಸ್ತುಶಿಲ್ಪ

ಸಂಗ್ರಹಣಾ ಮಾದರಿ: ಸ್ಥಳೀಯ ಪರಿವರ್ತನೆ + ಕೇಂದ್ರಿತ ಪಲ್ಲಟ

  1. ಪ್ರತಿ DC ಡಿಸ್ಕ್‌ಗೆ DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳನ್ನು ಬರೆಯುತ್ತದೆ ಮತ್ತು ರೋಲ್ಓವರ್ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ.
  2. ಪ್ರತಿ DC ತಿರುಗಿದ *.log ಫೈಲ್‌ಗಳನ್ನು ಡೇಟಾ CSV ಮತ್ತು ಅಂಕಿಅಂಶ CSV ಗಳಾಗಿ ಪರಿವರ್ತಿಸಿ, ನಂತರ ಅವುಗಳನ್ನು *.zip ಆಗಿ ಸಂಕುಚಿತಗೊಳಿಸುತ್ತದೆ (ಟಾಸ್ಕ್ ಶೆಡ್ಯೂಲರ್ ಮೂಲಕ).
  3. ಔಟ್‌ಪುಟ್‌ಗಳು ಲಾಗ್ ಫೈಲ್‌ಗಳ ಪಕ್ಕದಲ್ಲೇ ಬರೆಯಲ್ಪಡುವುದರಿಂದ ಪೈಪ್‌ಲೈನ್ ಸರಳವಾಗಿರುತ್ತದೆ.
  4. ಕೇಂದ್ರಿತ ಸರ್ವರ್ *.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\Scripts
  • C:\Administration\Logs\DNSServer

ಕೊಟ್ಟಿರುವ ಬ್ಯಾಕಪ್ Convert-DNSDebugLogFile ಈಗಾಗಲೇ DC ಗಳಲ್ಲಿ ಲಭ್ಯವಿದೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ಪರಿವರ್ತನೆ ಟಾಸ್ಕ್ ವಿಂಡೋಸ್ ಪವರ್‌ಶೆಲ್ 5.1 ಅನ್ನು -NoProfile ಜೊತೆಗೆ ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ಮೋಡ್ಯೂಲ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಆಮದು ಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಮೋಡ್ಯೂಲ್ ಅನ್ನು LocalSystem ಗೆ ಗೋಚರವಾಗುವ ಯಂತ್ರ-ವ್ಯಾಪಕ ವಿಂಡೋಸ್ ಪವರ್‌ಶೆಲ್ ಮೋಡ್ಯೂಲ್ ಮಾರ್ಗದಲ್ಲಿ ಸ್ಥಾಪಿಸಬೇಕು. ಶಿಫಾರಸು ಮಾಡಿದ ವಿಧಾನಗಳು:

  • DNSServer.DebugLogParser ಅನ್ನು DC ಗಳಲ್ಲಿ ಸ್ಥಾಪಿಸಿ. ಉದಾಹರಣೆಗೆ, ಪವರ್‌ಶೆಲ್ ಗ್ಯಾಲರಿ ಮೂಲಕ (ನೀತಿ ಅನುಮತಿಸಿದರೆ).
  • ಆಂತರಿಕ ರೆಪೋ / ಫೈಲ್ ಶೇರ್ ಮೂಲಕ ಮೋಡ್ಯೂಲ್ ಅನ್ನು ನಿಯೋಜಿಸಿ, ಇದರಿಂದ ಅದು $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 ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಹೊಸ (ಸಕ್ರಿಯ) ಲಾಗ್ ಫೈಲ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದನ್ನು ತಪ್ಪಿಸುತ್ತದೆ. Convert-DNSDebugLogFile DNS ಸರ್ವರ್ ಈಗಾಗಲೇ ತೆರೆಯಿರುವ ಲಾಗ್ ಓದಲು ಸಾಧ್ಯವಿದೆ, ಆದರೆ ಆ ಫೈಲ್ ಓದುವಾಗ ಬದಲಾಗುತ್ತದೆ: ಔಟ್‌ಪುಟ್ ಹೊಸ ಎಂಟ್ರಿಗಳನ್ನು ತಪ್ಪಿಸಬಹುದು ಅಥವಾ ಕತ್ತರಿಸಿದ ದಾಖಲೆ ಜೊತೆ ಮುಗಿಯಬಹುದು, ಮತ್ತು ಎರಡು ಓಟಗಳು ಒಂದೇ ಫಲಿತಾಂಶ ನೀಡುವುದಿಲ್ಲ. ಸಕ್ರಿಯ ಫೈಲ್ ಅನ್ನು ತಪ್ಪಿಸುವುದು ನಿಯೋಜಿತ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪುನರಾವರ್ತನೀಯವಾಗಿರಿಸುತ್ತದೆ.
  • ಅಂದರೆ ಪ್ರಸ್ತುತ ಡೇಟಾ ಮಾತ್ರ ರೋಲ್ಓವರ್ ನಂತರ ರಫ್ತು ಮಾಡಲಾಗುತ್ತದೆ; ಕಡಿಮೆ ಪ್ರಮಾಣದ 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\... ಗೆ ಬರೆಯುತ್ತದೆ (ಅಥವಾ ನಕಲಿಸುತ್ತದೆ) (ಟಾಸ್ಕ್ SYSTEM ಆಗಿ ನಡೆಯುತ್ತಿದ್ದರೆ DC ಕಂಪ್ಯೂಟರ್ ಖಾತೆಗಳಿಗೆ ಅಥವಾ ಡೊಮೇನ್ ನಿಯಂತ್ರಕರು ಗುಂಪಿಗೆ ಶೇರ್ ಮತ್ತು NTFS ಹಕ್ಕುಗಳನ್ನು ನೀಡಿ)
  • ಪಲ್ಲಟ ಮಾದರಿ: ಕೇಂದ್ರಿತ ಕೆಲಸ \\dc\C$\Administration\Logs\DNSServer\*.zip ಓದುತ್ತದೆ (ಕಡಿಮೆ ಇಷ್ಟಪಡಲ್ಪಟ್ಟದ್ದು; ಆಡಳಿತ ಶೇರ್‌ಗಳು ಅಗತ್ಯ)
  • ಏಜೆಂಟ್ ಫಾರ್ವರ್ಡರ್: SIEM / ಲಾಗ್ ಪೈಪ್‌ಲೈನ್ *.zip ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ಸಾಗಿಸುತ್ತದೆ

ಕಾರ್ಯಾಚರಣೆ ಪರಿಗಣನೆಗಳು

  • ಕನಿಷ್ಠ ಹಕ್ಕು: ಟಾಸ್ಕ್‌ಗಳು SYSTEM ಆಗಿ ನಡೆಯುತ್ತವೆ; ಸ್ಥಳೀಯ ಫೋಲ್ಡರ್‌ಗಳು ಬರೆಯಬಹುದಾಗಿರಬೇಕು ಮತ್ತು ಯಾವುದೇ UNC ಗುರಿಗಳು ಬಳಕೆಯಾದರೆ ಕಂಪ್ಯೂಟರ್ ಖಾತೆಗೆ ಪ್ರವೇಶ ನೀಡಬೇಕು.
  • ಸಹಿ ನೀತಿ: ಎರಡೂ ಟಾಸ್ಕ್‌ಗಳು -ExecutionPolicy RemoteSigned ಬಳಸುತ್ತವೆ; ನಿಯಮಾನುಸಾರ ನಿಯೋಜಿಸಲಾದ ಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ಮೋಡ್ಯೂಲ್ ಅನ್ನು ಸಹಿ ಮಾಡಿರಿ ಅಥವಾ ಅನ್ಬ್ಲಾಕ್ ಮಾಡಿ.
  • ಡಿಸ್ಕ್ ಬಳಕೆ: -CompressOutput ಬಹಳಷ್ಟು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಆದರೆ ಈ ಕಾರ್ಯಪ್ರವಾಹ ಮೂಲ ಲಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದಿಲ್ಲ; ರಿಟೆನ್ಷನ್ ಮತ್ತು ಸ್ವಚ್ಛತೆ ಯೋಜಿಸಿ.
  • ಪುನಃ ಪ್ರಕ್ರಿಯೆ ವರ್ತನೆ: ನೀವು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದ ಲಾಗ್‌ಗಳನ್ನು ಆರ್ಕೈವ್ ಅಥವಾ ಅಳಿಸುವುದಿಲ್ಲದಿದ್ದರೆ, ಪರಿವರ್ತನೆ ಟಾಸ್ಕ್ ನಂತರದ ಓಟಗಳಲ್ಲಿ ಪ್ರತಿ ಸಕ್ರಿಯವಲ್ಲದ *.log ಫೈಲ್ ಅನ್ನು ಮತ್ತೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ. ಇದು ಸರಳ ಮತ್ತು ದೃಢವಾಗಿದೆ, ಆದರೆ ನಿಮ್ಮ ಸಂಗ್ರಹಕ ಡುಪ್ಲಿಕೇಟ್‌ಗಳನ್ನು ತಡೆಯದಿದ್ದರೆ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ಮರುಬರೆಯಬಹುದು ಮತ್ತು ಡೌನ್‌ಸ್ಟ್ರೀಮ್ ಇಂಜೆಕ್ಷನ್‌ನಲ್ಲಿ ನಕಲು ಉಂಟಾಗಬಹುದು.
  • ಬಹು-DC ಸಂಯೋಜನೆ: -ComputerName $env:COMPUTERNAME ಸೇರಿಸಲಾಗಿದೆ ಆದ್ದರಿಂದ ಸಂಯೋಜಿತ ಡೇಟಾಸೆಟ್‌ಗಳು ಟ್ರೇಸಬಲ್ ಆಗಿರುತ್ತವೆ. ಗಮನಿಸಿ -ComputerName ಕೇವಲ ಔಟ್‌ಪುಟ್‌ಗೆ ಲೇಬಲ್ ಹಾಕುತ್ತದೆ — ಇದು ಯಾವುದೇ ದೂರದ ಸಂಪರ್ಕವನ್ನು ಮಾಡುತ್ತಿಲ್ಲ.
  • ನೆಟ್‌ವರ್ಕ್ ಶೇರ್‌ಗಳು: Convert-DNSDebugLogFile ಮೂಲ ಲಾಗ್‌ಗಳನ್ನು SMB/UNC ಮಾರ್ಗಗಳಿಂದ ಓದಲು ಸಾಧ್ಯವಿದೆ, ಆದರೆ ಸ್ಥಳೀಯವಾಗಿ ಪರಿವರ್ತಿಸಿ ಸಂಕುಚಿತ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಗಿಸುವುದು ದೊಡ್ಡ ಕಚ್ಚಾ ಲಾಗ್‌ಗಳಿಗೆ ಉತ್ತಮ ಮಾದರಿ. ನೀವು UNC ಮಾರ್ಗವನ್ನು ಬಳಸಿದರೆ, SYSTEM ಆಗಿ ನಡೆಯುವ ಟಾಸ್ಕ್ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಕಂಪ್ಯೂಟರ್ ಖಾತೆಯಾಗಿ ಪ್ರಾಮಾಣೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಅಲ್ಲಿ ಶೇರ್ ಮತ್ತು NTFS ಹಕ್ಕುಗಳನ್ನು ಅಗತ್ಯವಿದೆ.
  • ದಿನಾಂಕ ಸ್ವರೂಪ: -OutputCulture sv-SE ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಬಳಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳು 2026-01-20 23:00:16 ಆಗಿ ಬರೆಯಲ್ಪಡುತ್ತವೆ. ಆ ಸ್ವರೂಪವನ್ನು SQL ಸರ್ವರ್, ಪವರ್ BI ಮತ್ತು ಹೆಚ್ಚಿನ ಇಂಪೋರ್ಟ್ ಉಪಕರಣಗಳು ಯಾವುದೇ ಲೊಕೇಲ್‌ನಿಂದಲೂ ಸೂಚನೆ ಇಲ್ಲದೆ ಓದುತ್ತವೆ.
  • ಮಾನ್ಯತೆ: ಹೆಡರ್ ಮಾನ್ಯತೆ ಸಕ್ರಿಯವಾಗಿರುತ್ತದೆ ಏಕೆಂದರೆ ಟಾಸ್ಕ್ -SkipHeaderValidation ಬಳಸುವುದಿಲ್ಲ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ).

ಮಾನ್ಯಗೊಳಿಸಿ ಮತ್ತು ಹೊಂದಿಸಿ (ZIP ಬಳಸಿ)

ZIP ಆರ್ಕೈವ್ ಅನ್ನು ಉಲ್ಲೇಖ ಜಾರಿಗೊಳಿಸುವಿಕೆ ಎಂದು ಬಳಸಿ, ನಂತರ ಕೆಳಗಿನ ಅಂಶಗಳನ್ನು ನಿಮ್ಮ ಪರಿಸರಕ್ಕೆ ಹೊಂದಿಸಿ:

  • ಗುರಿ ವ್ಯಾಪ್ತಿ: ಯಾವ DCಗಳು / OUs ನೀತಿಯನ್ನು ಪಡೆಯುತ್ತವೆ
  • ಕಾರ್ಯಾಚರಣೆ ಗುರುತು: ಎರಡೂ ನಿಯೋಜಿತ ಟಾಸ್ಕ್‌ಗಳು ಉದ್ದೇಶಿತ ಲಾಗಿನ್ ಪ್ರಕಾರ (S4U ವಿರುದ್ಧ InteractiveToken) ಬಳಸುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿ ಅಥವಾ ನಿಮ್ಮ ಮಾನದಂಡಕ್ಕೆ ಹೊಂದಿಸಿ
  • ಫೋಲ್ಡರ್ ರಚನೆ: C:\Administration\Scripts ಮತ್ತು C:\Administration\Logs\DNSServer ಇತರಡೆ ಪೂರ್ವ-ಸ್ಥಾಪಿತವೋ ಅಥವಾ ಹೆಚ್ಚುವರಿ GPP ಐಟಂಗಳ ಮೂಲಕ ರಚಿಸಬೇಕೋ ನಿರ್ಧರಿಸಿ
  • ಮಾರ್ಗಗಳು: C:\Administration\Scripts ಮತ್ತು C:\Administration\Logs\DNSServer ನಿಮ್ಮ ಮಾನದಂಡಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿ
  • ರಿಟೆನ್ಷನ್: ಕಚ್ಚಾ ಲಾಗ್‌ಗಳನ್ನು ಎಷ್ಟು ಕಾಲ ಇಡಬೇಕು ಮತ್ತು ಸ್ವಚ್ಛತೆ ಆಯ್ಕೆಗಳು ಸಕ್ರಿಯಗೊಳಿಸುವುದೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ
  • ಇಂಜೆಕ್ಷನ್: CSV/ZIP ಔಟ್‌ಪುಟ್‌ಗಳು ಎಲ್ಲಿಗೆ ಬರೆಯಲ್ಪಡುತ್ತವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಕೇಂದ್ರಿತವಾಗಿ ಹೇಗೆ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ

ನೀವು GPO ಸಂರಚನೆಯನ್ನು ಆಮದು ಮಾಡದೆ ನಿಖರವಾಗಿ ಪರಿಶೀಲಿಸಲು ಬಯಸಿದರೆ, ಈ ರೆಪೊದಲ್ಲಿ ಪ್ರಾಧಿಕಾರಿತ ಮೂಲಗಳು:

9.2 - SQL ಸರ್ವರ್‌ನೊಂದಿಗೆ ಭದ್ರತಾ ವಿಶ್ಲೇಷಣೆ ಕಾರ್ಯಪ್ರವಾಹ

DNSServer.DebugLogParser ಬಳಸಿ DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳನ್ನು CSV ಗೆ ಪರಿವರ್ತಿಸಿ, ಫಲಿತಾಂಶವನ್ನು SQL ಸರ್ವರ್‌ಗೆ ಆಮದು ಮಾಡಿ, ಮತ್ತು ಅನುಮಾನಾಸ್ಪದ TXT ದಾಖಲೆ ಚಟುವಟಿಕೆಗೆ ಸರಳ ಪತ್ತೆ ಪ್ರಶ್ನೆಯನ್ನು ನಡೆಸಿ.

ಈ ಉದಾಹರಣೆ ಭದ್ರತಾ ವಿಶ್ಲೇಷಣೆಯ ಪ್ರಾಯೋಗಿಕ ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ತೋರಿಸುತ್ತದೆ: Convert-DNSDebugLogFile ಬಳಸಿ DNS ಡಿಬಗ್ ಲಾಗ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ, ರಚಿಸಲಾದ CSV ಅನ್ನು SQL ಸರ್ವರ್‌ಗೆ ಆಮದು ಮಾಡಿ, ಮತ್ತು ಅಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚಿನ TXT ದಾಖಲೆ ಹುಡುಕಾಟಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡುವ ಪ್ರಶ್ನೆಯನ್ನು ನಡೆಸಿ.

ಉತ್ತಮ ಪರಸ್ಪರ ಕಾರ್ಯಕ್ಷಮತೆಯಿಗಾಗಿ, ಈ ಉದಾಹರಣೆ -OutputCulture 'sv-SE' ಬಳಸಿ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳನ್ನು ISO-ಹಾಗೆ ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಬರೆಯುತ್ತದೆ.

ಅಗತ್ಯವಿರುವ ಮೋಡ್ಯೂಲ್‌ಗಳು

ಈ ಉದಾಹರಣೆ ಕೆಳಗಿನ PowerShell ಮೋಡ್ಯೂಲ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ:

  • DNSServer.DebugLogParser
  • SqlServer

ಅವಶ್ಯಕತೆ ಇದ್ದರೆ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ:

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 ಉದಾಹರಣೆ ಸಂಪೂರ್ಣ ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:

  1. ಅಗತ್ಯವಿರುವ ಮೋಡ್ಯೂಲ್‌ಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ
  2. DNS ಡಿಬಗ್ ಲಾಗ್ ಅನ್ನು CSV ಗೆ ಪರಿವರ್ತಿಸಿ
  3. ರಚಿಸಲಾದ CSV ಅನ್ನು ಲೋಡ್ ಮಾಡಿ
  4. ಸಾಲುಗಳನ್ನು 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 ಸರ್ವರ್‌ನಲ್ಲಿ ಉಳಿಸುವಿಕೆ, ಸೂಚ್ಯಂಕ ಮತ್ತು ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ಪರಿಶೀಲಿಸಿ.

9.3 - ಶೆಡ್ಯೂಲ್ ಮಾಡಿದ ಟಾಸ್ಕ್ ಉದಾಹರಣೆ

ಈ ಉದಾಹರಣೆ ಪ್ರತಿದಿನವೂ DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಪವರ್‌ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ವಿಂಡೋಸ್ ಶೆಡ್ಯೂಲ್ ಮಾಡಿದ ಟಾಸ್ಕ್ ಅನ್ನು ಸೃಷ್ಟಿಸುವ ವಿಧಾನವನ್ನು ತೋರಿಸುತ್ತದೆ.

ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರತಿದಿನವೂ ಬೆಳಗ್ಗೆ 2:00 ಗಂಟೆಗೆ ಚಾಲನೆಗೊಳ್ಳುವ ವಿಂಡೋಸ್ ಶೆಡ್ಯೂಲ್ ಮಾಡಿದ ಟಾಸ್ಕ್ ಅನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ಇದು ಮೋಡ್ಯೂಲ್ ಅನ್ನು ಆಮದುಮಾಡಿ, ಸ್ಕ್ರಿಪ್ಟ್ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಫೋಲ್ಡರ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಲಾಗ್ ಫೈಲ್‌ಗಳನ್ನು (ಈ ಉದಾಹರಣೆಯಲ್ಲಿ “C:\Administration\Logs\DNS”) ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆ ಔಟ್‌ಪುಟ್ ಅನ್ನು ZIP-ಫೈಲ್‌ಗಳಾಗಿ ಸಂಕುಚಿತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಮೂಲವನ್ನು ತೆಗೆದುಹಾಕಿ ಸ್ವಚ್ಛತೆ ಕಾಪಾಡುತ್ತದೆ.

$actionParams = @{
    Execute = "powershell.exe"
    Argument = '-ExecutionPolicy RemoteSigned -Command "Import-Module DNSServer.DebugLogParser; Get-ChildItem .\*.log | Sort-Object lastwritetime, Name -Descending | Convert-DNSDebugLogFile -ComputerName $env:COMPUTERNAME -Delimiter \";\" -OutputType Both -ContextFilter Packet -OutputCulture sv-SE -CompressOutput"'
    WorkingDirectory = "C:\Administration\Logs\DNS"
}
$Action = New-ScheduledTaskAction @actionParams

$Trigger = New-ScheduledTaskTrigger -Daily -At "2:00AM"

Register-ScheduledTask -TaskName "Process DNS Logs" -Action $Action -Trigger $Trigger -Description "Convert DNS debug logs to CSV daily"