A PowerShell framework for producing a more reliable view of Intune app install status (Mobile + Windows) using Microsoft Graph and Intune reporting endpoints.
Why: Intune portal status can be delayed (latency). This framework is designed to query Graph for install status and export clean reports.
- 🔐 Graph auth helper (delegated interactive)
- 🔎 Resolve app by displayName (partial match)
- 📊 Pull install status (ByDevice / ByUser / Summary)
- 🧾 Export to CSV + JSON
- 📸 Save snapshots + diff changes between runs
- 🧯 Built-in throttling/retry wrapper for Graph requests
- PowerShell 7+ recommended
- Microsoft Graph PowerShell SDK:
Microsoft.Graph - Intune licensing enabled in the tenant
- Permissions (delegated scopes):
DeviceManagementApps.Read.AllDeviceManagementManagedDevices.Read.AllReports.Read.All
Note: Intune RBAC still applies; the signed-in user must have sufficient read permissions in Intune.
- Install module dependency:
Install-Module Microsoft.Graph -Scope CurrentUser- Import the module from the repo root:
Import-Module .\src\IntuneAppInstallStatus\IntuneAppInstallStatus.psd1 -Force- Connect:
Connect-IAISGraph -TenantId "<TENANT_ID>"- Find the app:
Get-IAISApps -Search "Outlook" -Type all- Pull status + export:
$app = (Get-IAISApps -Search "Outlook" | Select-Object -First 1)
$data = Get-IAISInstallStatus -AppId $app.id -View ByDevice -Top 500
$stamp = Get-Date -Format "yyyyMMdd-HHmmss"
$out = Export-IAISReport -Data $data -PathBase ".\runs\exports\$($app.id)-$stamp"
$out.\tools\Run-IAIS.ps1 -TenantId "<TENANT_ID>" -AppSearch "Outlook" -View ByDevice -Top 500- App discovery comes from:
deviceAppManagement/mobileApps - Install status comes from:
deviceManagement/reports/*(report name is configurable)
The report endpoints may vary by tenant / Graph profile.
The scaffold includes a placeholder report route that you should finalize once (see: src/IntuneAppInstallStatus/Private/Invoke-IAISReport.ps1).
- Auto-detect working report endpoints (capability probe)
- Fallback to mobile app deviceStatuses when needed
- App list input (CSV) + batch export
- HTML report output
- Service principal (app registration) auth for automation
Generated by AI. Validate outputs before production use.