DTLcompare - Reference Manual
Descriptive reference for the DTLknowsWhy snapshot comparison analyzer.
Type: comparative analysisLanguage: PythonVersion: v1.0Role
DTLcompare compares two JSON snapshots produced by DTLknowsWhy: one from a workstation where remote access works and one from a workstation where the same access fails. Its purpose is to isolate useful differences and convert raw data into ranked findings.
Input Model
| Element | Description |
|---|---|
| Working snapshot | JSON file representing a successful remote diagnostic. |
| Failing snapshot | JSON file representing an equivalent failing diagnostic. |
| Expected structure | DTLknowsWhy data, including remote_tests, system, target, ping, TCP 445, SMB shares and identity information. |
Analysis Areas
Target consistency
The tool checks that both diagnostics target the same host. A target mismatch makes the comparison unreliable.
Network transport
Ping and TCP 445 checks help eliminate or retain causes related to reachability and SMB transport.
SMB and authentication
Visible shares, error messages and authentication failure markers feed hypotheses about rights, cached credentials or account context.
Workstation context
Domain, workgroup, Entra/Azure AD join and filter differences are used to explain discrepancies between workstations.
Produced Outputs
| Output | Use |
|---|---|
| HTML report | Human reading and sharing with support or infrastructure teams. |
| TXT report | Compact summary for tickets, email or intervention notes. |
| JSON report | Structured archive or automated processing. |
| Console | Readable summary during execution. |
Dependencies
The main entry point is comparative_analysis.py. The script depends on the DTLknowsWhy expert.compare package to read paths, extract share names, recognize filters and detect workstation join type.
Limits
- DTLcompare is not a diagnostic collector; it analyzes existing snapshots.
- The comparison is meaningful only when both snapshots target the same access and host.
- The analysis depends on the DTLknowsWhy JSON schema.
- Findings are ranked by relevance but still require technical context.