DTLcompare - User Guide
User guide for comparing two DTLknowsWhy remote diagnostics.
JSON snapshotsSMBHTML / TXT / JSON reportsGoal
DTLcompare helps explain why remote access works from one workstation but fails from another. It does not collect diagnostics itself; it analyzes two JSON files already produced by DTLknowsWhy.
Prepare the Files
- Create a DTLknowsWhy snapshot from the workstation where access works.
- Create another snapshot from the workstation where access fails.
- Make sure both diagnostics target the same server, machine or share.
- Place both JSON files in a folder accessible from the Python environment.
Run the Analysis
Provide the working snapshot first, then the failing snapshot.
python comparative_analysis.py working_snapshot.json failing_snapshot.jsonExample:
python comparative_analysis.py 172.17.7.19_snapshot_20260610_151730.json 172.17.7.19_snapshot_20260610_152617.json
Produced Reports
HTML report
Main human-readable document for support or infrastructure teams.
Text report
Compact summary suitable for tickets, emails or intervention notes.
JSON report
Structured output for archiving, automation or later comparison.
Read the Analysis
- Likely causes: ranked hypotheses with evidence and relevance score.
- Eliminated causes: explanations that the data can rule out.
- Evidence: facts extracted from snapshots, such as ping, TCP 445, visible shares or error messages.
- Remediation: suggested next action when the analysis allows it.
Useful Options
--lang fr|en
--json
--output-prefix path/report
--no-files--output-prefix selects the name and location of generated reports. --no-files limits output to the console.
Troubleshooting
- If
expert.comparecannot be imported, run DTLcompare in an environment where DTLknowsWhy is available. - If results look inconsistent, make sure both snapshots target exactly the same access.
- If no report appears, check the current folder, write permissions and possible use of
--no-files. - If a target mismatch is reported, recreate both diagnostics with the same target.