Skip to content
snodecoder edited this page Apr 2, 2026 · 10 revisions

Arguments

List of available arguments that can be passed when running IntuneCD-startdocumentation.

Argument Description
-p, --path Path to where the backup is saved
-o, --outpath The path to save the document
-t, --tenantname Name of the tenant
-i, --intro Introduction that will be added to the top of the document
-j, --jsondata Lets you configure line 1-4 using a JSON string: "{\"title\": \"demo\", \"intro\": \"demo\",\"tenant\": \"demo\", \"updated\": \"demo\"}"
-m, --maxlength Maximum length of the configuration value, values with a higher count will be displayed with "Value too long to display"
-s, --split Split the documentation into multiple files and create index.md in the configpath directory with a list of all files
-c, --cleanup If set, will remove all table rows with an empty value
-d, --decode If set, will decode all base64 encoded values
--split-per-config If set, will split the documentation per configuration and save resulting MD file in /docs in the configpath directory
--max-workers Maximum number of concurrent threads when documenting, default is 10. Can only be used with --split-per-config or --split
--enrich-documentation If set, enriches documentation with configurationSettings and configurationCategories if available. Requires the backup process to have been run with --enrich-documentation as well.

Run Documentation locally

In the example below, the documentation will be split into multiple markdown files as -s is specified. This can be useful if the backup is large and the generated markdown file is simply too big.

IntuneCD-startdocumentation -p /tmp/IntuneBackup -s -i "This is an introduction" -t "example tenant" -m 200 -c

Or, using the new style:

IntuneCD document -p /tmp/IntuneBackup -s -i "This is an introduction" -t "example tenant" -m 200 -c

The index.md file that was created in "/tmp/IntuneBackup" looks like below,

# Intune Documentation 

This is an introduction

**Tenant:** example tenant

**Document updated on:** 04/01/2023 09:23:48 

## File index 

[index.md](./index.md) 

[Filters.md](./Filters/Filters.md) 

[Apple VPP Tokens.md](./Apple%20VPP%20Tokens/Apple%20VPP%20Tokens.md) 

[Configuration Profiles.md](./Device%20Configurations/Configuration%20Profiles.md) 

[Enrollment Configurations.md](./Enrollment%20Configurations/Enrollment%20Configurations.md) 

[Custom Attributes.md](./Custom%20Attributes/Custom%20Attributes.md) 

[Conditional Access.md](./Conditional%20Access/Conditional%20Access.md) 

[Group Policy Configurations.md](./Group%20Policy%20Configurations/Group%20Policy%20Configurations.md) 

[Settings Catalog.md](./Settings%20Catalog/Settings%20Catalog.md) 

[Management Intents.md](./Management%20Intents/Management%20Intents.md) 

[Managed Google Play.md](./Managed%20Google%20Play/Managed%20Google%20Play.md) 

[Apple Push Notification.md](./Apple%20Push%20Notification/Apple%20Push%20Notification.md) 

[App Configuration.md](./App%20Configuration/App%20Configuration.md) 

[Device Management Settings.md](./Device%20Management%20Settings/Device%20Management%20Settings.md) 

[App Protection.md](./App%20Protection/App%20Protection.md) 

[Proactive Remediations.md](./Proactive%20Remediations/Proactive%20Remediations.md) 

[Apple Enrollment Profiles.md](./Enrollment%20Profiles/Apple/Apple%20Enrollment%20Profiles.md) 

[Windows Enrollment Profiles.md](./Enrollment%20Profiles/Windows/Windows%20Enrollment%20Profiles.md) 

[Compliance Policies.md](./Compliance%20Policies/Policies/Compliance%20Policies.md) 

[Message Templates.md](./Compliance%20Policies/Message%20Templates/Message%20Templates.md) 

[Shell Scripts.md](./Scripts/Shell/Shell%20Scripts.md) 

[Powershell Scripts.md](./Scripts/Powershell/Powershell%20Scripts.md) 

[macOS Applications.md](./Applications/macOS/macOS%20Applications.md) 

[iOS Applications.md](./Applications/iOS/iOS%20Applications.md) 

[Android Applications.md](./Applications/Android/Android%20Applications.md) 

[Windows Applications.md](./Applications/Windows/Windows%20Applications.md) 

Run Documentation in a pipeline

This step should be added to the backup pipeline to make sure the Markdown document is updated when configurations change. By default, it writes to the README.md file in the repo, you can change this with the -o option.

- script: IntuneCD-startdocumentation -t $(TENANT_NAME) -i 'This is a demo introduction'
  env:
    REPO_DIR: $(REPO_DIR)
  displayName: Run IntuneCD documentation

Convert to PDF

While IntuneCD does not support converting the markdown files to PDF by itself, there are third party tools available for converting MD to PDF.

One example which has been used by others is md-to-pdf.

If you decide to try md-to-pdf, an example configuration for making the generated PDF look better is provided below,

{
    "stylesheet" : "https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.10.0/github-markdown.min.css",
    "css": ".page-break { page-break-after: always; } .markdown-body { font-size: 14px; } .markdown-body table td, .markdown-body table th { word-break: break-all; width: 500px; } .markdown-body table td { table-layout: fixed; } .markdown-body table tr { page-break-inside: avoid; }",
    "body_class": "markdown-body",
    "marked_options": {
        "headerIds": false,
        "smartypants": false
    },
    "pdf_options": {
        "format": "A4",
        "margin": "10mm",
        "printBackground": false,
        "timeout": 0
    },
    "stylesheet_encoding": "utf-8"
}

You can use the above configuration by saving it as a JSON file and then running md-to-pdf like this:

cat file.md | md-to-pdf --config-file path/to/config.json > path/to/output.pdf

Example documentation with --enrich-documentation:

Windows 11 - User related configuration settings Assignments

intent target filter type filter name
Include AllManagedDevices none

Basics

setting value
Name Windows 11 - User related configuration settings
Profile type Settings catalog
Platform supported windows10
Technologies mdm
Scope tags 0

Configuration

Setting Value Description
Experience
Configure Chat Icon Disabled
Click to expand...Configures the Chat icon on the taskbar
InfoUrls:
https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-Experience#configurechaticonvisibilityonthetaskbar
Microsoft Outlook 2016 > Cached Exchange Mode
Use Cached Exchange Mode for new and existing Outlook profiles (User) Enabled
Click to expand...By default, users can choose to configure Cached Exchange Mode or use Online mode. By enabling this setting, new and existing Outlook profiles are configured to use Cached Exchange Mode. Disabling this setting configures new and existing Outlook profiles to use Online mode.
Microsoft Outlook 2016 > Exchange
Automatically configure profile based on Active Directory Primary SMTP address (User) Enabled
Click to expand...Automatically configure only the first profile based on Active Directory primary SMTP address
This policy setting controls whether users who are joined to a domain in an Active Directory environment can change the primary SMTP address that is used when they set up an account in Outlook.
If this policy setting is enabled, users can enter a profile name to create a new profile without using the new account wizard. A user interface does not appear as the profile is created.
This key will be ignored after the first profile has been successfully created.
OneDrive
Always use the user's Windows display language when provisioning known folders in OneDrive Disabled
Click to expand...When you move Windows known folders to OneDrive, they will be provisioned in the user's Windows display language by default, unless the user sets a different preferred language. This setting lets you override the user's preferred language setting. It works with both Known Folder Move settings ("Silently move Windows known folders to OneDrive" and "Prompt users to move Windows known folders to OneDrive").
If you enable this setting, known folders will be provisioned using the user's Windows display language, even if the user sets a different preferred language.
If you disable or do not configure this setting, and the user set a preferred language, their known folders will be provisioned in OneDrive using that language. The known folders on their PC will appear in their preferred language.
Block file downloads when users are low on disk space Enabled
Click to expand...This setting lets you specify a minimum amount of available disk space and block the OneDrive sync app (OneDrive.exe) from downloading files when users have less than this amount.
Users will be prompted with options to help free up space.
→ Minimum available disk space: (Device) 35

Example documentation without --enrich-documentation:

Windows 11 - User related configuration settings

Assignments

intent target filter type filter name
Include AllManagedDevices none

Configuration

setting value
Creation Source
Name Windows 11 - User related configuration settings (OneDrive, Outlook, Browser etc)
Platforms windows10
Priority Meta Data
Role Scope Tag Ids 0
Setting Count 15
Technologies mdm
Template Reference templateId:
templateFamily: none
templateDisplayName: None
templateDisplayVersion: None
id: 0
@odata.type: #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance
settingDefinitionId: device_vendor_msft_policy_config_experience_configurechaticon
settingInstanceTemplateReference: None
choiceSettingValue:
    settingValueTemplateReference: None
    value: device_vendor_msft_policy_config_experience_configurechaticon_3
    children:

id: 1
@odata.type: #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance
settingDefinitionId: user_vendor_msft_policy_config_outlk16v2policyl_microsoftofficeoutlook_toolsaccountsl_exchangesettings_l_automaticallyconfigureprofilebasedonactive
settingInstanceTemplateReference: None

Clone this wiki locally