Change log


Major rewrite. - Custom apps are now supported - Redesigned the report visually - Two separate reports are now available - the Overview report and the Detailed report. - A number of code improvements in the runbook - Moved the solution resources into its own GitHub repository


Bug fix on the way app data is loaded into an array in the runbook.


Cast dates into "s" (sortable) format to provide consistency and correct interpretation of dates by the PowerBI report. Increased the timeout for 429 http status codes from 5 minutes to 10 minutes.


Removed the "Write-Output" command from the Get-PmpAppsList function because the results are sent to a variable and any additional output would break the list of apps returned.


Added retry logic with a 5-minute timeout on the Get-DeviceInstallStatusReport function in the runbook, to handle non-success return codes.


Updated both the runbook and the Power BI template to handle the scenario where they may be either no app or no updates deployed.


Added code to the Azure automation runbook to fix a bug where the PowerBI report would error if there were no data returned for the statusoverview or deviceinstallstatus reports.


Updated the Power BI template with a new-look dark theme. Added an "Application counts" chart on the installs report pages, as well as device and install counts, and an "install state" filter.


Updated the Remove-MSGraphExportJobDuplicates function with some more efficient code that (in testing) is around 30% quicker. Thanks to Yannick Van Landeghem for the tip on this!


Major rewrite to move away from the reports/exportJobs Graph endpoint due to much tighter limits put in place by MS for frequent requests for jobs. Switched back to the reports/getDeviceInstallStatusReport endpoint again and used looping to overcome the current 50 item limit per request.


Added a filter to the Request-ExportJobs function in the automation runbook to only include install states that are NOT 'not applicable'. This significantly reduces the overall processing time of the runbook where apps are targeted to a large number of devices for which the app is not applicable to that device.


Added some retry logic to the Request-ExportJobs function in the runbook to handle when Graph returns a bad request response. This is in response to changes made to service limits in MS Graph around 2021-09-24.


Switched from using the deviceManagement/reports/getDeviceInstallStatusReport Graph endpoint to exportJobs for the device installation status data due to the limitation of the endpoint only returning 50 results per call.


Added a function in the runbook to create a unique result set for the device installation status data by including only the most recent entry per device


Released version 1.1 of the Power BI report template removing the 'Not applicable' status from the donut charts for a better view.


Fixed an issue with the automation runbook where it would fail if the number of apps or updates in an export job was a multiple of 20.


Updated the runbook script to include better error handling and some retry logic in case the http 504 error (gateway timeout) is returned.


Initial release

Last updated