Skip to main content
Intune Commander provides comprehensive export and import capabilities for migrating configurations between tenants, backing up policies, or documenting your environment.

Export Workflows

Export Single Object

To export a single policy, app, or configuration:
1

Navigate to the object type

Select the category in the navigation tree (e.g., Device Configurations).
2

Select the object

Click the object you want to export in the data grid.
3

Click Export

Click the Export Selected button in the toolbar.
4

Wait for completion

The export completes and status shows: Exported to C:\Users\...\Desktop\IntuneExport

Export All Objects (Full Tenant Backup)

To export all loaded configurations at once:
1

Load all object types

Navigate through all categories to trigger lazy-loading, or click Refresh to load core types.
2

Click Export All

Click the Export All button in the toolbar.
3

Wait for completion

Progress appears in the status bar. For large tenants, this may take several minutes.
Export All exports only currently-loaded object types. Lazy-loaded types that haven’t been navigated to are skipped.

Export Location

All exports go to:
%UserProfile%\Desktop\IntuneExport\
The folder is created automatically if it doesn’t exist.

Export Format

Exports use a folder-per-object-type structure:
IntuneExport/
├── migration-table.json
├── DeviceConfigurations/
│   ├── Windows 10 Security Baseline.json
│   ├── iOS Device Restrictions.json
│   └── ...
├── CompliancePolicies/
│   ├── Windows 10 Compliance.json
│   └── ...
├── Applications/
│   ├── Microsoft Edge.json
│   └── ...
├── SettingsCatalog/
│   ├── BitLocker Settings.json
│   └── ...
└── ConditionalAccess/
    ├── Block Legacy Auth.json
    └── ...

File Naming

Each file is named after the object’s Display Name property:
  • Windows 10 Security Baseline.json
  • Microsoft Edge.json
  • Block Legacy Auth.json
Special characters in names are sanitized for filesystem compatibility.

JSON Structure

Each JSON file contains the full Graph API response for that object:
{
  "@odata.type": "#microsoft.graph.windows10GeneralConfiguration",
  "id": "12345678-1234-1234-1234-123456789012",
  "displayName": "Windows 10 Security Baseline",
  "description": "Corporate security baseline for Windows 10 devices",
  "createdDateTime": "2024-01-15T10:30:00Z",
  "lastModifiedDateTime": "2024-03-20T14:22:00Z",
  "passwordRequired": true,
  "passwordMinimumLength": 12,
  "passwordRequiredType": "alphanumeric",
  ...
}
Exported JSON is compatible with the PowerShell IntuneManagement tool. You can import files exported from Intune Commander into the PowerShell tool and vice versa.

Migration Table

Every export includes a migration-table.json file that tracks ID mappings when you import configurations into a different tenant.

Purpose

Microsoft Graph assigns a new GUID to every object created via import. The migration table maps:
  • Original ID (from source tenant)
  • New ID (in destination tenant)
This is critical for re-mapping references (e.g., an app configuration that references a specific app by ID).

Migration Table Format

{
  "entries": [
    {
      "objectType": "DeviceConfiguration",
      "displayName": "Windows 10 Security Baseline",
      "sourceId": "12345678-1234-1234-1234-123456789012",
      "targetId": "98765432-9876-9876-9876-987654321098",
      "importedAt": "2024-03-25T16:45:00Z"
    },
    {
      "objectType": "MobileApp",
      "displayName": "Microsoft Edge",
      "sourceId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "targetId": "ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj",
      "importedAt": "2024-03-25T16:46:00Z"
    }
  ]
}

Using the Migration Table

The migration table is automatically applied during import:
  1. Import reads the migration table
  2. For each object, ID references are rewritten to use the new IDs
  3. New entries are appended to the migration table as imports complete
You don’t need to manually edit the migration table—it’s maintained by the app.

Import Workflows

Import from Folder

To import a previously-exported configuration set:
1

Click Import

Click the Import button in the toolbar.
2

Select the IntuneExport folder

Browse to the folder containing the exported JSON files and migration-table.json.
3

Wait for completion

The app imports all supported object types found in the folder. Progress appears in the status bar.

Import Behavior

Import creates new objects. It does not update existing objects. If you import the same configuration twice, you’ll have two copies (with different IDs).

Import Order

Objects are imported in dependency order:
  1. Scope Tags
  2. Role Definitions
  3. Applications (needed for app-specific policies)
  4. Device Configurations
  5. Compliance Policies
  6. Settings Catalog
  7. Endpoint Security Intents
  8. Administrative Templates
  9. App Protection Policies
  10. Conditional Access Policies

Selective Import

To import only specific object types:
  1. Copy only the desired subfolders from the export
  2. Keep migration-table.json in the root
  3. Run the import
The app skips missing folders automatically.

Cross-Tenant Migration

To migrate configurations from one tenant to another:
1

Export from source tenant

Connect to the source tenant and export all configurations.
2

Switch to destination tenant

Use the profile switcher to connect to the destination tenant.
3

Import to destination tenant

Import the exported folder. New objects are created in the destination tenant.
4

Review migration table

Check migration-table.json to see the ID mappings.
For multi-cloud migrations (e.g., Commercial to GCC-High), this is the recommended workflow. Export/import is cloud-agnostic.

CSV Exports

For reporting purposes, several views support CSV export:
  • Application Assignments: Flat CSV with one row per app + assignment
  • Dynamic Groups: CSV with group details and membership rules
  • Assigned Groups: CSV with group details and member counts
  • Settings Catalog: CSV with policy metadata
  • Compliance Policies: CSV with policy metadata
  • Administrative Templates: CSV with template metadata
CSV exports go to:
%UserProfile%\Desktop\IntuneExport\<Type>-<Timestamp>.csv
Example: ApplicationAssignments-20240325-143022.csv

CSV Export Steps

1

Navigate to the view

Go to the category that supports CSV export (e.g., Application Assignments).
2

Load data

Ensure data is loaded (the grid is populated).
3

Click Export CSV

Click the Export CSV button in the toolbar.
4

Open in Excel

The CSV file is saved. Open it in Excel, Power BI, or your reporting tool.
CSV exports include all rows in the current view, not just visible filtered rows.

Export/Import Compatibility

PowerShell IntuneManagement Tool

Intune Commander’s JSON format is fully compatible with the PowerShell IntuneManagement tool:
  • Export from Intune Commander → Import with PowerShell tool ✅
  • Export from PowerShell tool → Import with Intune Commander ✅
This ensures you can use both tools interchangeably.

Graph API Versions

Intune Commander uses Microsoft.Graph.Beta SDK. Exported JSON includes beta-only properties not available in v1.0. If importing into a tool that uses Graph v1.0, beta-only properties are ignored (no errors, but data loss for those fields).

Limitations

Assignments Not Included in Import

Currently, group assignments are NOT imported. Only the policy/app object itself is created. Workaround: Manually re-assign after import, or use the PowerShell tool for assignment migration.

User-Specific Objects

Some objects (e.g., terms of use with uploaded PDFs) may require additional manual steps after import.

Conditional Access Dependencies

Conditional Access policies reference:
  • Named Locations
  • Authentication Strengths
  • Authentication Contexts
Import these dependencies before importing CA policies, or references will be broken.

Build docs developers (and LLMs) love