Microsoft Security Tech Accelerator
Dec 06 2023, 07:00 AM - 12:00 PM (PST)
Microsoft Tech Community

Report Azure AD Application Usage

Copper Contributor

Hello together


I need to get the the report from Azure AD Application Usage
The following link shows this in the Admin Center


Is there a way to do this from within PowerShell (as it's part of a reporting "Suite") to be able exporting it to CSV/Excel in an easier way?
Can this be achieved using the Graph API Module for PowerShell?


Thank you for your Help and best regards


7 Replies
best response confirmed by TechThomas (Copper Contributor)

@TechThomas Generally, applications inside Azure AD are service principals, and you can get a list of all service principals by using the "Get-AzureADServicePrincipal -All $true" command using PowerShell and export those as a CSV file using the Export-CSV cmdlet. You can also have a look a this Graph API call.

thank you for your fast reply.

With "Get-AzureADServicePrincipal -All $true" it lists ServicePrincipal, but as soon as I compare the enterpriseapplications in the link I mentioned, lot of applications are unfortunately not listed
Are there any specific applications you are missing? When I run this against one of my tenants, it seems (but didn't manually check) I got well over 2000 apps. The default Microsoft ones are not shown in this list for example.
I also get receive large number of results, but when I filter to displayname, AppID or Object ID, I am missing some applications in the output, which I can see under enterpriseapplications in the admin center.
little bit strange, some user-specific apps are visible in the output and some are not visible.
And if you actually look them up by their object ID? Does it return anything at all?
Yes, I copied all results with the parameter fl * into a text file to search for displayname, AppID, Object ID and Publisher.
unfortunately i get different results between output and admin center
i found now the cmdlet to find the enterpriseapplications.
Get-AzureADServicePrincipal -all $true | Sort-Object DisplayName | Where-Object {$_.Tags -match "App"}