# IntunePolicyParser
A utility to parse **Markdown/HTML documentation exports** from the [IntuneManagement](https://github.com/...) tool into flat CSV files that can be further analyzed in Excel or Power BI.
## Source files
This parser expects as input a **Documentation export** from the IntuneManagement tool. Use the `Export Documentation (Markdown)` feature, which produces a `.md` file containing:
- `
` sections for each policy,
- two `
` blocks under each heading (Basics + Settings).
## Usage
```bash
python intune.py [input_file.md] [-o OUTPUT.csv] [--dedupe] [--dedupe-scope {exact,policy,global}] [--newline {lf,crlf}]
```
### Arguments
- `input_file.md`
Path to the Intune documentation export (Markdown/HTML).
Defaults to `cqre.md`.
- `-o, --output OUTPUT.csv`
Output CSV file. If not provided, the name is derived from the input (e.g. `input.md -> input.csv`).
- `--dedupe`
Enable removal of duplicate rows.
- `--dedupe-scope {exact,policy,global}`
How duplicates are identified:
- `exact` → full row must match (default).
- `policy` → unique per (PolicyName + SettingKey + SettingValue).
- `global` → unique per (SettingKey + SettingValue + Policy type + Platform).
- `--newline {lf,crlf}`
Choose line endings for the output CSV:
- `lf` (Unix/macOS/Linux, default)
- `crlf` (Windows)
## Output format
The generated CSV contains one row per policy setting with these columns:
- `PolicyName`
- `Description`
- `SettingKey`
- `SettingValue`
- `Policy type`
- `Platform supported`
- `Created`
- `Last modified`
- `Scope tags`
## Example
```bash
# Parse and dedupe by policy, exporting with LF line endings
python intune.py CQRE.NET-2025-09-22.md -o CQRE.NET-2025-09-22.csv --dedupe --dedupe-scope policy --newline lf
```
This creates `CQRE.NET-2025-09-22.csv` ready for analysis in Excel.