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

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

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

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

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

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

ಸಂಪನ್ಮೂಲಗಳು

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

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

1 - ಅವಲೋಕನ

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

DNS ಡಿಬಗ್ ಲಾಗ್ ಎಂದರೆ ಏನು?

DNS ಡಿಬಗ್ ಲಾಗಿಂಗ್ ವಿಂಡೋಸ್ DNS ಸರ್ವರ್‌ನ ಒಂದು ವೈಶಿಷ್ಟ್ಯವಾಗಿದ್ದು, DNS ಕಾರ್ಯಾಚರಣೆಗಳ ಕುರಿತು ವಿವರವಾದ ಮಾಹಿತಿಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ. ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, DNS ಸರ್ವರ್ ಲಾಗ್ ಎಂಟ್ರಿಗಳನ್ನು ಪಠ್ಯ ಫೈಲ್ (ಸಾಮಾನ್ಯವಾಗಿ dns.log) ಗೆ DNS ಸರ್ವರ್ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಬರೆಯುತ್ತದೆ.

ಪ್ರತಿ ಲಾಗ್ ಎಂಟ್ರಿಯಲ್ಲಿ 16 ಕ್ಷೇತ್ರಗಳವರೆಗೆ ಒಳಗೊಂಡಿರುತ್ತದೆ, ಅವುಗಳೆಂದರೆ:

  • ಪ್ರಶ್ನೆಯ ದಿನಾಂಕ ಮತ್ತು ಸಮಯ
  • ಬಳಸಲಾದ ಪ್ರೋಟೋಕಾಲ್ (UDP ಅಥವಾ TCP)
  • ದಿಕ್ಕು (ಕಳುಹಿಸುವುದು ಅಥವಾ ಸ್ವೀಕರಿಸುವುದು)
  • ಕ್ಲೈಂಟ್ IP ವಿಳಾಸ
  • ಪ್ರಶ್ನೆಯ ಪ್ರಕಾರ (A, AAAA, MX, PTR, ಇತ್ಯಾದಿ)
  • ಪ್ರಶ್ನಿಸಲಾದ ಡೊಮೇನ್ ಹೆಸರು
  • ಪ್ರತಿಕ್ರಿಯೆ ಕೋಡ್ (NOERROR, NXDOMAIN, ಇತ್ಯಾದಿ)
  • ಪ್ರಶ್ನೆ ಧ್ವಜಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳು
  • ಪ್ರತಿಕ್ರಿಯೆಯ IP ವಿಳಾಸ (ಯಶಸ್ವಿ ಪ್ರಶ್ನೆಗಳಿಗೆ)
  • ಪೋರ್ಟ್ ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಹೆಚ್ಚುವರಿ ತಾಂತ್ರಿಕ ವಿವರಗಳು

DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳನ್ನು ಏಕೆ ಪಾರ್ಸ್ ಮಾಡಬೇಕು?

DNS ಲಾಗ್‌ಗಳು ಪ್ರಮುಖವಾಗಿವೆ:

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

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

ಕಾರ್ಯಕ್ಷಮತೆ ನಿಗಾ

  • ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಪ್ರಶ್ನೆಗಳ ಮೂಲಗಳನ್ನು ಗುರುತಿಸುವುದು
  • DNS ಮೂಲಸೌಕರ್ಯವನ್ನು ಸುಧಾರಿಸಲು ಪ್ರಶ್ನೆಯ ಪ್ರಕಾರಗಳು ಮತ್ತು ಮಾದರಿಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವುದು
  • ಅತಿಯಾದ ಪ್ರಶ್ನೆಗಳಿಗೆ ಕಾರಣವಾಗುವ ಸಂರಚನಾ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು
  • ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯ ಮತ್ತು ಯಶಸ್ಸಿನ ದರಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು
  • DNS ಸರ್ವರ್ ಲೋಡ್ ಮತ್ತು ಸಾಮರ್ಥ್ಯವನ್ನು ನಿಗಾ ವಹಿಸುವುದು

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

  • DNS ಟನ್ನಲಿಂಗ್ ಮತ್ತು ಡೇಟಾ ಹೊರಹಾಕುವ ಪ್ರಯತ್ನಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು
  • ಮಾಲ್‌ವೇರ್ ಮತ್ತು ಕಮಾಂಡ್-ಅಂಡ್-ಕಂಟ್ರೋಲ್ ಸರ್ವರ್‌ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಡೊಮೇನ್‌ಗಳನ್ನು ಗುರುತಿಸುವುದು
  • ಸಂಶಯಾಸ್ಪದ ಪ್ರಶ್ನೆ ಮಾದರಿಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು, ಇದು ಹ್ಯಾಕಿಂಗ್ ಆಗಿರುವ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಸೂಚಿಸಬಹುದು
  • DNS ವೃದ್ಧಿ ದಾಳಿಗಳಿಗೆ ನಿಗಾ ವಹಿಸುವುದು
  • ಭದ್ರತಾ ಘಟನೆಗಳನ್ನು ತನಿಖೆ ಮಾಡುವುದು ಮತ್ತು ದಾಳಿಕಾರರ ಚಟುವಟಿಕೆಯನ್ನು ಹಿಂಬಾಲಿಸುವುದು

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

  • ಲಾಗಿಂಗ್ ಮತ್ತು ಸಂರಕ್ಷಣೆಗೆ ನಿಯಂತ್ರಣ ಅಗತ್ಯಗಳನ್ನು ಪೂರೈಸುವುದು
  • ಆಡಿಟ್ ಟ್ರೇಲ್‌ಗಳಿಗೆ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನು ದಾಖಲು ಮಾಡುವುದು
  • ನಿರ್ವಹಣೆ ಮತ್ತು ಅನುಕೂಲತಾ ಅಧಿಕಾರಿಗಳಿಗೆ ವರದಿಗಳನ್ನು ರಚಿಸುವುದು
  • ಭದ್ರತಾ ನಿಗಾವಣೆಯಲ್ಲಿ ಸೂಕ್ತ ಜಾಗೃತಿ ತೋರಿಸುವುದು

ಮೋಡ್ಯೂಲ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ (ಮೇಲ್ಮಟ್ಟ)

ಮೋಡ್ಯೂಲ್ ದೊಡ್ಡ ಫೈಲ್‌ಗಳಿಗೆ ಅನುಕೂಲವಾಗಿದ್ದು, DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳನ್ನು ರಚನಾತ್ಮಕ CSV ಔಟ್‌ಪುಟ್ ಆಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ. ಇದು ಬಹು-ಸಾಲಿನ ದಾಖಲೆಗಳನ್ನು (ಉದಾಹರಣೆಗೆ PACKET ವಿವರ ಬ್ಲಾಕ್‌ಗಳು ಮತ್ತು ಇಂದೆಂಟ್ ಮಾಡಿದ ಮುಂದುವರಿದ ಸಾಲುಗಳು) ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಘಟನೆ/ನಿರ್ಣಯ ಸಂದೇಶಗಳು ಮತ್ತು ಪ್ಯಾಕೆಟ್ ವಿವರಗಳು ಸರಿಯಾದ ದಾಖಲೆಗಳಿಗೆ ಜೋಡಿಸಿಕೊಂಡಿರುತ್ತವೆ.

ಪ್ರಮುಖ ಸಾಮರ್ಥ್ಯಗಳು:

  • ಮೂಲ DNS ಡಿಬಗ್ ಲಾಗ್ ಕ್ಷೇತ್ರಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ ಸुसಂಗತ CSV ವಿನ್ಯಾಸವನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ
  • ವಿವಿಧ DNS ಸರ್ವರ್ ಆವೃತ್ತಿಗಳನ್ನು (2012 R2 ರಿಂದ 2025 ರವರೆಗೆ) ನಿರ್ವಹಿಸುತ್ತದೆ
  • PowerShell ಡೆಸ್ಕ್‌ಟಾಪ್ (5.1+) ಮತ್ತು ಕೋರ್ (7.x) ಎರಡನ್ನೂ ಬೆಂಬಲಿಸುತ್ತದೆ
  • ಯಾವುದೇ ಗಾತ್ರದ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ (100MB+ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ)
  • ಡೇಟಾ ಅಖಂಡತೆಯನ್ನು ಖಚಿತಪಡಿಸಲು ಲಾಗ್ ಫೈಲ್ ಹೆಡರ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ
  • ಐಚ್ಛಿಕವಾಗಿ ಸಾಂಖ್ಯಿಕ ಸಾರಾಂಶಗಳನ್ನು ರಚಿಸುತ್ತದೆ
  • PowerShell ಪೈಪ್‌ಲೈನ್ ಮೂಲಕ ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ
  • ಡಿಸ್ಕ್ ಜಾಗ ಉಳಿಸಲು ಔಟ್‌ಪುಟ್ ಫೈಲ್‌ಗಳನ್ನು ಐಚ್ಛಿಕವಾಗಿ ಸಂಕುಚಿತಗೊಳಿಸುತ್ತದೆ
  • ಯಶಸ್ವಿ ಪ್ರಕ್ರಿಯೆಯ ನಂತರ ಮೂಲ ಫೈಲ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಳಿಸಲು ಸಾಧ್ಯ
  • ಅಂತಾರಾಷ್ಟ್ರೀಯ DNS ಸರ್ವರ್ ಲಾಗ್‌ಗಳಿಗಾಗಿ ಸಂಸ್ಕೃತಿ-ಜಾಗೃತ ದಿನಾಂಕ ಪಾರ್ಸಿಂಗ್
  • ಅಂತಾರಾಷ್ಟ್ರೀಯ ಔಟ್‌ಪುಟ್ ಅಗತ್ಯಗಳಿಗೆ ಸಂಸ್ಕೃತಿ-ಜಾಗೃತ ದಿನಾಂಕ ಸ್ವರೂಪಣ

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

ಮೋಡ್ಯೂಲ್ MIT ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ಬಿಡುಗಡೆಯಾಗಿದೆ. ಸಮುದಾಯ ಬೆಂಬಲ GitHub Issues ಮೂಲಕ ಲಭ್ಯವಿದೆ.

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

DNSServer.DebugLogParser ಎರಡು ವಿಧದ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ರಚಿಸಬಹುದು:

  • ಎಲ್ಲಾ ಪಾರ್ಸ್ ಮಾಡಿದ ಎಂಟ್ರಿಗಳನ್ನು ಒಳಗೊಂಡ CSV ಡೇಟಾ ಫೈಲ್
  • ದೈನಂದಿನ ಸಂಗ್ರಹಣೆಗೆ ಐಚ್ಛಿಕ ಅಂಕಿಅಂಶಗಳ ಫೈಲ್‌ಗಳು

ಪ್ರತಿ ಔಟ್‌ಪುಟ್ ಪ್ರಕಾರದ ನೈಜ ಜಗತ್ತಿನ ಉದಾಹರಣೆಗಳನ್ನು ನೋಡಲು, ಈ ಲೇಖನದಲ್ಲಿನ ಮಾದರಿಯನ್ನು ಪರಿಶೀಲಿಸಿ.

CSV ಡೇಟಾ ಫೈಲ್

ಉದಾಹರಣೆಯ ಔಟ್‌ಪುಟ್ ಫೈಲ್‌ಗಳು:

CSV ಡೇಟಾ ಫೈಲ್ ಎಲ್ಲಾ ಪಾರ್ಸ್ ಮಾಡಿದ ಲಾಗ್ ಎಂಟ್ರಿಗಳನ್ನು ಕೆಳಗಿನ ಕಾಲಮ್‌ಗಳೊಂದಿಗೆ ಒಳಗೊಂಡಿದೆ:

  • DateTime: DNS ಪ್ರಶ್ನೆ/ಪ್ರತಿಕ್ರಿಯೆಯ ದಿನಾಂಕ ಮತ್ತು ಸಮಯ
  • ThreadId: ಆಂತರಿಕ DNS ಸರ್ವರ್ ಥ್ರೆಡ್ ಗುರುತು
  • Context: ಕಾರ್ಯಾಚರಣೆ ಸಂದರ್ಭ (ಉದಾಹರಣೆಗೆ Packet, Event, Note, DSPoll, Init, Lookup, Recurse, Remote, Tombstone)
  • PacketId: DNS ಪ್ಯಾಕೆಟ್ ಗುರುತು
  • Protocol: UDP ಅಥವಾ TCP
  • Direction: Rcv (ಸ್ವೀಕರಿಸಿದ/ಪ್ರಶ್ನೆ) ಅಥವಾ Snd (ಕಳುಹಿಸಿದ/ಪ್ರತಿಕ್ರಿಯೆ)
  • ClientIP: ಕ್ಲೈಂಟ್ IP ವಿಳಾಸ
  • Xid: ವ್ಯವಹಾರ ID (ಹೆಕ್ಸ)
  • Type: ಪ್ರಶ್ನೆ ಅಥವಾ ಪ್ರತಿಕ್ರಿಯೆ
  • Opcode: ಸ್ಟ್ಯಾಂಡರ್ಡ್, Notify, Update, ಅಥವಾ Unknown
  • FlagsHex: ಪ್ರಶ್ನೆ/ಪ್ರತಿಕ್ರಿಯೆ ಧ್ವಜಗಳು (ಹೆಕ್ಸ)
  • FlagsChar: ಧ್ವಜಗಳ ಡಿಕೋಡ್ (Authoritative, Truncated, RecursionDesired, RecursionAvailable)
  • ResponseCode: NOERROR, NXDOMAIN, SERVFAIL, ಇತ್ಯಾದಿ
  • QuestionType: DNS ದಾಖಲೆ ಪ್ರಕಾರ (A, AAAA, MX, PTR, ಇತ್ಯಾದಿ)
  • QuestionName: ಪ್ರಶ್ನಿಸಲಾದ ಡೊಮೇನ್ ಹೆಸರು
  • Information: ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿ (Event/Note/ಇತ್ಯಾದಿಗಾಗಿ; Packet ವಿವರ ಬ್ಲಾಕ್‌ಗಳಿಗೆ TCP/UDP ವಿವರ ಹೆಡರ್ ಲೈನ್ ಒಳಗೊಂಡಿದೆ)
  • Details: Packet ಎಂಟ್ರಿಗಳ JSON ಡೇಟಾ, ವಿವರ ಬ್ಲಾಕ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವುದು (ಇಲ್ಲದಿದ್ದರೆ ಖಾಲಿ)
  • ComputerName: ಮೂಲ ಸರ್ವರ್ ಹೆಸರು (ಎಲ್ಲಾಗೂ ಇರುತ್ತದೆ; ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗದಿದ್ದರೆ ಖಾಲಿ)

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

ಅಂಕಿಅಂಶಗಳ ಫೈಲ್‌ಗಳು (ಐಚ್ಛಿಕ)

ಉದಾಹರಣೆಯ ಔಟ್‌ಪುಟ್ ಫೈಲ್‌ಗಳು:

ಅಂಕಿಅಂಶಗಳನ್ನು ರಚಿಸುವಾಗ, ಎರಡು ವಿಭಿನ್ನ ಫೈಲ್‌ಗಳು ಸೃಷ್ಟಿಸಲಾಗುತ್ತವೆ:

1) ಸಂದರ್ಭ ಅಂಕಿಅಂಶಗಳು (*_Statistic.csv)

ಕಾಲಮ್‌ಗಳು:

  • Date: ದಿನಾಂಕ (yyyy-MM-dd)
  • Context: ಸಂದರ್ಭದ ಹೆಸರು (ಉದಾಹರಣೆಗೆ Packet, Event, Note)
  • Count: ದಾಖಲೆಗಳ ಸಂಖ್ಯೆ
  • ComputerName: ಮೂಲ ಸರ್ವರ್ ಹೆಸರು

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

ಕಾಲಮ್‌ಗಳು:

  • Date: ದಿನಾಂಕ (yyyy-MM-dd)
  • ClientIP: ಕ್ಲೈಂಟ್ IP ವಿಳಾಸ
  • Protocol: UDP ಅಥವಾ TCP
  • Direction: Rcv ಅಥವಾ Snd
  • QuestionType: DNS ದಾಖಲೆ ಪ್ರಕಾರ
  • Count: ದಾಖಲೆಗಳ ಸಂಖ್ಯೆ
  • ComputerName: ಮೂಲ ಸರ್ವರ್ ಹೆಸರು

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

DNSServer.DebugLogParser ಅನ್ನು ಉತ್ಪಾದನೆಯಲ್ಲಿ ಬಳಸುವಾಗ:

  1. ನಿಯಮಿತ ಪ್ರಕ್ರಿಯೆಯನ್ನು ವೇಳಾಪಟ್ಟಿ ಮಾಡಿ

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

    • DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳು ವೇಗವಾಗಿ ಹೆಚ್ಚಾಗಬಹುದು; ನಿರ್ವಹಣೀಯ ಗಾತ್ರದಲ್ಲಿ (ಉದಾಹರಣೆಗೆ 100MB) ರೋಟೇಶನ್ ಅನ್ನು ಸಂರಚಿಸಿ.
  3. ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ

    • ಸಂಪೂರ್ಣ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಮೊದಲು ಮೊದಲ ಕೆಲವು ಪರಿವರ್ತಿತ ಫೈಲ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.
  4. ಸಂಗ್ರಹಣಾ ಅಗತ್ಯಗಳನ್ನು ಯೋಜಿಸಿ

    • ಸಂಕುಚಿತಗೊಳಿಸುವಿಕೆ ಇದ್ದರೂ, DNS ಪ್ರಮಾಣ ಮತ್ತು ಸಂರಕ್ಷಣೆಯ ಆಧಾರದ ಮೇಲೆ ಸಂಗ್ರಹಣೆಯನ್ನು ಯೋಜಿಸಿ.
  5. ಸಂವೇದನಾಶೀಲ ಡೇಟಾವನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸಿ

    • DNS ಲಾಗ್‌ಗಳು ಸಂವೇದನಾಶೀಲವಾಗಿರಬಹುದು; ಸೂಕ್ತ ಪ್ರವೇಶ ನಿಯಂತ್ರಣಗಳೊಂದಿಗೆ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ರಕ್ಷಿಸಿ.
  6. ನಿಮ್ಮ ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ದಾಖಲಿಸಿ

    • ಪ್ರಕ್ರಿಯೆಯ ವೇಳಾಪಟ್ಟಿಗಳು, ಸಂಗ್ರಹಣಾ ಸ್ಥಳಗಳು ಮತ್ತು ವಿಶ್ಲೇಷಣಾ ಬಳಕೆಗಳನ್ನು ದಾಖಲಿಸಿ.
  7. ಮಾದರಿ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಿ

    • ಪ್ರಮುಖ ಲಾಗ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಮೊದಲು ಪರಿಮಾಣಗಳು ಮತ್ತು ಔಟ್‌ಪುಟ್ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ.
  8. ದೋಷಗಳಿಗಾಗಿ ನಿಗಾ ವಹಿಸಿ

    • ಹಾಳಾದ ಲಾಗ್‌ಗಳು, ಪ್ರವೇಶ ಸಮಸ್ಯೆಗಳು ಅಥವಾ ಅಪ್ರತಿಷ್ಠಿತ ಡಿಸ್ಕ್ ಜಾಗಕ್ಕಾಗಿ ಗಮನವಿಡಿ.

4 - ಸಮಸ್ಯೆಗಳ ಪರಿಹಾರ

ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಪರಿಹಾರಗಳು

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

  • ನೀವು ನಿಜವಾದ DNS ಸರ್ವರ್ ಡಿಬಗ್ ಲಾಗ್ ಅನ್ನು ಪರಿವರ್ತಿಸುತ್ತಿದ್ದೀರಾ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
  • ಫೈಲ್ Message logging started at ಎಂಬುದರಿಂದ ಆರಂಭವಾಗಬೇಕು ಅಥವಾ DNS ಕ್ವೇರಿ ಎಂಟ್ರಿಗಳನ್ನು ಹೊಂದಿರಬೇಕು.
  • ಫೈಲ್ ಮಾನ್ಯವಾಗಿದೆ ಎಂದು ನೀವು ಖಚಿತವಾಗಿದ್ದರೆ ಆದರೆ ಹೆಡರ್ ವಿಭಿನ್ನವಾಗಿದ್ದರೆ, -SkipHeaderValidation ಬಳಸಿ.

ಔಟ್‌ಪುಟ್ ಫೈಲ್ ಖಾಲಿ ಅಥವಾ ಅಪೂರ್ಣವಾಗಿದೆ

  • ಇನ್‌ಪುಟ್ ಫೈಲ್ ಮಾನ್ಯ ಲಾಗ್ ಎಂಟ್ರಿಗಳನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ದೃಢೀಕರಿಸಿ.
  • ಕೆಲವು ಲಾಗ್‌ಗಳು ಕೇವಲ ಹೆಡರ್ ಮಾಹಿತಿಯನ್ನೇ ಹೊಂದಿರಬಹುದು, ಯಾವುದೇ ಕ್ವೆರಿಗಳು ನಡೆದಿಲ್ಲದಿದ್ದರೆ.
  • ಲಾಗ್ ಫೈಲ್ ಹಾಳಾಗಿಲ್ಲ ಮತ್ತು ನಿಜವಾದ ಕ್ವೇರಿ ಡೇಟಾವನ್ನು ಹೊಂದಿದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ.

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

  • ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇದೆ ಮತ್ತು ಡಿಸ್ಕ್ ಹೆಚ್ಚು ಲೋಡ್ ಆಗಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
  • ಸಣ್ಣ ಲಾಗ್ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡಲು ಪರಿಗಣಿಸಿ.
  • -CompressOutput ಅನ್ನು ನಿಯೋಜಿತ ಪ್ರಕ್ರಿಯೆಯೊಂದಿಗೆ ಬಳಸುವುದನ್ನು ಪರಿಗಣಿಸಿ, ಇದರಿಂದ ಸಣ್ಣ ಬ್ಯಾಚ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು.

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

  • ಮೂಲ ಲಾಗ್ ಫೈಲ್‌ಗಳನ್ನು ಓದಲು ಮತ್ತು ಗಮ್ಯಸ್ಥಾನ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಬರೆಯಲು ಸೂಕ್ತ ಅನುಮತಿಗಳೊಂದಿಗೆ PowerShell ಅನ್ನು ಚಾಲನೆ ಮಾಡಿ.
  • DNS ಲಾಗ್ ಫೈಲ್‌ಗಳಿಗೆ ಆಡಳಿತಾಧಿಕಾರಿಗಳ ಪ್ರವೇಶ ಅಗತ್ಯವಿರಬಹುದು.

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

  • ಅನೇಕ ವಿಶಿಷ್ಟ ಮೌಲ್ಯಗಳಿರುವ ಲಾಗ್‌ಗಳು ಕಡಿಮೆ ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಸಂಕುಚಿತಗೊಳ್ಳುತ್ತವೆ; ಇದು ಸಾಮಾನ್ಯವಾಗಿರಬಹುದು.
  • ZIP ಸಂಕುಚನೆಯಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಸಾಕಷ್ಟು ಕಡಿತ ಸಾಧಿಸಲಾಗುತ್ತದೆ.

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

  • ನೀವು -OutputType Both ಅಥವಾ -OutputType Statistic ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೀರಾ ಎಂದು ಪರಿಶೀಲಿಸಿ.
  • ಅಂಕಿಅಂಶಗಳು ಸಂಗ್ರಹಿತ ಎಣಿಕೆಗಳು (ದೈನಂದಿನ ಗುಂಪುಗಳು) ಆಗಿವೆ, ಆದ್ದರಿಂದ ಮೌಲ್ಯಗಳು ಒಟ್ಟುಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ.

ಸಮಸ್ಯೆಗಳ ವರದಿ

ಇಲ್ಲಿ ಒಳಗೊಂಡಿಲ್ಲದ ಸಮಸ್ಯೆಗಳನ್ನು ನೀವು ಎದುರಿಸಿದರೆ:

  1. ನೀವು ಮód್ಯೂಲ್‌ನ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯನ್ನು ಬಳಸುತ್ತಿದ್ದೀರಾ ಎಂದು ಪರಿಶೀಲಿಸಿ.
  2. GitHub Issues ನಲ್ಲಿ ಸಮಾನ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.
  3. ಡಯಾಗ್ನೋಸ್ಟಿಕ್ ಮಾಹಿತಿ ಸಂಗ್ರಹಿಸಿ:
    • PowerShell ಆವೃತ್ತಿ ($PSVersionTable)
    • ಮód್ಯೂಲ್ ಆವೃತ್ತಿ (Get-Module DNSServer.DebugLogParser)
    • ಮಾದರಿ ಲಾಗ್ ಫೈಲ್ (ಸಾಧ್ಯವಾದರೆ)
    • ಸಂಪೂರ್ಣ ದೋಷ ಸಂದೇಶ ಮತ್ತು ಸ್ಟಾಕ್ ಟ್ರೇಸ್
  4. ವಿವರಗಳೊಂದಿಗೆ ಹೊಸ GitHub ಸಮಸ್ಯೆಯನ್ನು ತೆರೆಯಿರಿ.

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

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

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

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

-InputCulture

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

-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

ಆವೃತ್ತಿ : 1.7.0.0 ಲೇಖಕ : Andi Bellstedt, Copilot ದಿನಾಂಕ : 2026-01-25 ಕೀವರ್ಡ್‌ಗಳು : Microsoft Windows Server, DNSServer, DNS, DebugLog, LogParser

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

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

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

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

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

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

  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ಗಳ ಮೇಲೆ ಸ್ಥಾಪಿಸಿ. ಉದಾಹರಣೆಗೆ, ಪಾಲಿಸಿ ಅನುಮತಿಸಿದರೆ 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.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 ಸರ್ವರ್‌ನಲ್ಲಿ ಉಳಿಸುವಿಕೆ, ಸೂಚ್ಯಂಕ ಮತ್ತು ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ಪರಿಶೀಲಿಸಿ.

6.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"