Blog Post

Intune Customer Success
4 MIN READ

Exporting all Microsoft Intune Enterprise App Management catalog apps to CSV using Microsoft Graph

Intune_Support_Team's avatar
Intune_Support_Team
Silver Contributor
Jun 22, 2026

By: Joe Lurie, Sr. Product Manager | Microsoft Intune

Managing applications at scale is one of the biggest time-consuming tasks for IT admins. Between packaging installers, writing detection rules, and keeping everything up to date - it adds up fast. That's exactly the problem Enterprise App Management in Microsoft Intune is designed to address.

Enterprise App Management gives you access to a curated Enterprise App Catalog with hundreds of popular Win32 apps that are pre-packaged, pre-tested, and ready to deploy. Microsoft handles the install commands, detection logic, and update-ready packaging. Automatic updates for catalog apps are expected to roll out in mid-2026, making the experience even more hands-off. You just pick the app, assign it, and move on.

But what if you want a full inventory of what's available in the catalog? Maybe you're evaluating which apps your organization can migrate from manual packaging, or you want to share the list with your app owners for review. In this post, I'll show you how to pull the complete catalog using Microsoft Graph PowerShell and export it to a CSV file.

Prerequisites

Before you start, make sure you have:

  • Intune admin permissions: An account with Intune permissions to read app and catalog data (such as Intune Administrator or a custom role with app read access).
    • You will also need Microsoft Graph delegated scope: DeviceManagementApps.Read.All (you'll consent to this when connecting).
  • An Intune Suite or Enterprise App Management add-on license: Enterprise App Management is part of the Intune Suite or available as a standalone add-on. Note: Microsoft has announced that Enterprise App Management will also be included in Microsoft 365 E5 licensing starting July 1, 2026 - check current licensing guidance to confirm availability for your tenant.
  • Microsoft Graph PowerShell SDK (Beta module) installed: Note that the catalog API is currently in the beta endpoint which means cmdlet names and properties may change before reaching v1.0.

If you don't have the beta module installed yet, run:

Install-Module Microsoft.Graph.Beta.Devices.CorporateManagement -Scope CurrentUser -Force

Step 1: Connect to Microsoft Graph

First, authenticate to Microsoft Graph with the required scope:

Connect-MgGraph -Scopes "DeviceManagementApps.Read.All"

You'll get a browser prompt to sign in and consent. Once connected, you're ready to query the catalog.

Step 2: Retrieve all Catalog apps

Microsoft Graph exposes the Enterprise App Catalog through the /beta/deviceAppManagement/mobileAppCatalogPackages collection. The PowerShell cmdlet for it is:

$catalogApps = Get-MgBetaDeviceAppManagementMobileAppCatalogPackage -All

The -All parameter is important as it handles pagination automatically so you get every catalog package, not just the first page of results.

💡 Tip

To see every property available on a catalog package object, pipe the first result to Format-List.

$catalogApps | Select-Object -First 1 | Format-List *

Step 3: Export to CSV

Next, let's select the most useful fields and write them to a CSV file:

$csvPath = "C:\Temp\IntuneCatalogApps.csv"
New-Item -ItemType Directory -Path (Split-Path $csvPath) -Force | Out-Null
$catalogApps | Select-Object ProductDisplayName, VersionDisplayName, PublisherDisplayName | Export-Csv -Path $csvPath -NoTypeInformation

Open the CSV in Excel and you've got a clean, sortable list of every catalog package in the Intune Enterprise App Catalog.

Putting it all together

Here's the complete script you can save and run:

# Connect to Microsoft Graph
Connect-MgGraph -Scopes "DeviceManagementApps.Read.All"

# Pull all Enterprise App Catalog packages
$catalogApps = Get-MgBetaDeviceAppManagementMobileAppCatalogPackage -All

# Export to CSV
$csvPath = "C:\Temp\IntuneCatalogApps.csv"
New-Item -ItemType Directory -Path (Split-Path $csvPath) -Force | Out-Null

$catalogApps | Select-Object ProductDisplayName, VersionDisplayName, PublisherDisplayName | Export-Csv -Path $csvPath -NoTypeInformation

Write-Host "Exported $($catalogApps.Count) catalog apps to $csvPath" -ForegroundColor Green

# Disconnect when done
Disconnect-MgGraph

Sample output

Your CSV will look something like this:

ProductVersionPublisher
Mozilla Firefox137.0.1Mozilla Corporation
Google Chrome135.0.6998.89Google LLC
Zoom Workplace6.4.6Zoom Video Communications, Inc.
Adobe Acrobat Reader DC25.001.20467Adobe Inc.
7-Zip24.09Igor Pavlov

Why this matters

Having a complete list of what's in the catalog is useful for a few scenarios:

  • App rationalization - Share the list with app owners and identify which apps you can stop manually packaging and switch to the catalog instead.
  • Gap analysis - Compare the catalog against your current app portfolio to see what's missing.
  • Change management - Track what's available over time as Microsoft continues to add new apps.
  • Compliance and auditing - Document which catalog apps are available for your tenant.

Wrapping up

Enterprise App Management is one of the most impactful features in the Intune Suite. It takes the most tedious parts of endpoint management - app packaging and updates - and just handles it for you. And with a short Graph script, you can get full visibility into what's available. And to see how Enterprise App Management secures your app catalog, check out the companion post here: aka.ms/Intune/EAM-Security.

Give the script a try and let us know what you think along with other Enterprise App Management topics you’d like to see by leaving a comment below or reaching out on X @IntuneSuppTeam.

Want to learn more about Enterprise App Management? Check out the official documentation for the full details.

Join our community! Discuss real-world scenarios, get expert guidance, connect with peers, and influence the future of Microsoft Security products. Learn more at https://aka.ms/JoinIntuneCommunity.

Updated Jun 22, 2026
Version 1.0