import json from unidecode import unidecode with open(r'D:\VNPT-M\Tool\audit_tool\NEW\Update\audit_lhdsin\output\MEVAS-NTL-DATAN_2026_07_29-05_18_36.txt', 'r', encoding='utf-8', errors='replace') as f: lines = f.readlines() with open(r'D:\VNPT-M\Tool\audit_tool\NEW\Update\audit_lhdsin\tools\debug_output.txt', 'w', encoding='utf-8') as out: for i, line in enumerate(lines): if any(x in line for x in ['2.1.2', '2.1.15', '2.1.17', '2.1.21', '2.1.22']): if 'Access' in line or 'Create' in line or 'Deny' in line or 'Enable' in line: out.write(f'Line {i+1}:\n') out.write(f' RAW: {repr(line.strip())}\n') out.write(f' NORM: {unidecode(line.strip())}\n') out.write('\n') # Also show what's in the PS script for comparison out.write('=== PS Script variants ===\n') ps = open(r'D:\VNPT-M\Tool\audit_tool\NEW\Update\audit_lhdsin\audit_check_script\audit_cis_windows.ps1', 'r', encoding='utf-8').read() import re for m in re.finditer(r'Write-CheckResult\s+"(2\.1\.\d+)"\s+"(.+?)"', ps): out.write(f' CheckId={m.group(1)} Desc={m.group(2)[:80]}\n') out.write(f' Normalized: {unidecode(m.group(2))}\n') print('Debug output written to tools/debug_output.txt')