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.
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:
| Product | Version | Publisher |
|---|---|---|
| Mozilla Firefox | 137.0.1 | Mozilla Corporation |
| Google Chrome | 135.0.6998.89 | Google LLC |
| Zoom Workplace | 6.4.6 | Zoom Video Communications, Inc. |
| Adobe Acrobat Reader DC | 25.001.20467 | Adobe Inc. |
| 7-Zip | 24.09 | Igor 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.