Nov 24 2019 07:38 PM
Is there any PowerShell or built-in way to report third-party apps being used across Teams? E.g. can we produce something that says App XYZ is installed in Team 1, Team 2 and Team 3.
Nov 24 2019 09:44 PM
I think there is no such a built-in way to do it, but you could build up a PowerShell script and utilize Microsoft Graph API to get what apps are installed on teams.
First list all teams using Groups endpoint. https://docs.microsoft.com/en-us/graph/teams-list-all-teams?context=graph%2Fapi%2F1.0&view=graph-res...
Loop through returned teams and list all apps installed to a team with "https://graph.microsoft.com/v1.0/<group id>/apps.
It returns id, externalId, name, version and distributionMethod of all apps, including out-of-the-box apps. distributionMetdod tells is app installed from store, organizations apps or is it sideloaded.
One thing to notice is that 3rd party store apps do not have externalId, so you need to check apps from store.
Here is an example what is returned from apps.
{
"id": "ef56c0de-36fc-4ef8-b417-3d82ba9d073c",
"externalId": null,
"name": "Calendar",
"version": "1.0",
"distributionMethod": "store"
},
{
"id": "a9ede1c9-23e7-4ff5-b548-937b0ef81d24",
"externalId": "28ee5fdd-91ac-42a8-aa8c-0126a99e05fe",
"name": "Onboarding App",
"version": "1.0.0",
"distributionMethod": "organization"
},
{
"id": "50fe6799-60e8-4fe2-95cc-2ca28a17e93d",
"externalId": "de372c3e-40b6-436a-81d1-947db038b542",
"name": "Budget Tracker",
"version": "1.0.0",
"distributionMethod": "sideloaded"
}
Mar 05 2020 01:26 AM
@Matti Paukkonen are you sure this is correct?
With https://graph.microsoft.com/v1.0/e0d7b9f8-6aa2-48d0-b45f-c2f1e173ded0/Apps
I only receive "Resource not found for the segment 'Apps'"
I get a positive result with https://graph.microsoft.com/v1.0/teams/e0d7b9f8-6aa2-48d0-b45f-c2f1e173ded0/installedApps
But it does not deliver the information I need. I really would like to get the result you have posted, but the GET does not seem to be correct.
Mar 05 2020 08:48 AM