Office 365 license tracking dashboard

Still a work in progress so it’s pretty fugly. It’s going to be for our technical account managers to see which client licenses are coming up for renewal. First page shows licenses expiring, second page (not pictured) shows all licenses managed, and the third page lets the user select a client from the input and fetch current data straight from the client’s tenant.

This was intended as a proof of concept to see if I could, with zero web development knowledge, build a dashboard that could log into any of our 365/Azure clients and perform functions.



Nice work! O365 licensing is a pain, so I’m sure that wasn’t easy to build!

Working on a similar project, just getting started :slight_smile:
I have collected the license information in a grid, one page with all license packs, and numbers, and one for what type of contract it is within O365.


And an example on how to show the allerts for the active tenant selected(some fomatting to do):

And current servicestatus for the active tenant.

How did your dashboard turn out? Been a while since you started it :slight_smile:

1 Like

Looking good! I like the alerts. Mine is on hold for a while. Sales showed some interest but have forgotten about it now.

I’ve added downloadable Excel reports for each page and cleaned up a little. I’ve also added some secured pages, which took a while due to a problem on the Azure AD side. These will be for techs to do basic user and license administration from a single page rather than having to log into each tenant. I’ve gotten as far as pulling AD sync status similar to the ones you see on the tenant admin page. Work has picked up for me and I’ve got to start re-doing my Microsoft certs since they decide to retire most of the ones I have, but I hope to get back to this project soon.

1 Like

Oh nice! Do you have any sample code for the downloadable reports? That seems like a really cool and useful snippet!

I would assume he creates the Excel reports using the module: “ImportExcel” to create the report and then provide a link for this file. Really a usefull module :wink:

Yes, I do use that module. It’s one of my favorites and worth looking into if you do any sort of client-facing reporting.

Here’s the code:
##publish a folder in UD
$folder = Publish-UDFolder -Path ‘C:\PubFolder’ -RequestPath ‘/config’

##empty folder and create report
onClick = Get-ChildItem -Path C:\PubFolder\ -Include *.* -Recurse | foreach{_.Delete()};
$Cache:expSubs | Export-Excel ‘C:\PubFolder\ExpiringSubscriptions.xlsx’

##UD Element with hyperlink
New-UDColumn -Size 12 -Content{
New-UDCard -Title “Office 365 Subscriptions Expiring in 30 Days or Less”

        New-UDElement -Id 'print01' -Tag "a" -Attributes @{
            className = "$btnClass"
            onClick = $OnClick
            href = "" 
            target = "_self"
        } -Content {
            'Download Excel report'

If i`m having a office 365 business account. How will i come to know about the office 365 plans that are active on my account and how can i manage office 365 licenses with it.



I did not really catch the question here, do you wonder how to log on to office 365 with PowerShell, and see the plans you have in your environment?

Yes I want to know the number of licenses that are active on my Office 365 plans.

I guess you use PowerShell and AzureAD module ?

If not, you need to install this module.
Run in elevated PowerShell:
Install-Module -Name AzureAD

After you have your module in place, you can run a similar script like this:

Connect-AzureAD -Credential (get-credential -credential "")

$Licenses = Get-AzureADSubscribedSku

$LicenseStatus = Foreach ($l in $Licenses) {
SkuPartNumber= $l.SkuPartNumber
Enabled = $l.PrepaidUnits.Enabled
Consumed = $l.ConsumedUnits
Suspended = $l.PrepaidUnits.Suspended
Warning = $l.PrepaidUnits.Warning
AppliesTo = $l.AppliesTo

$LicenseStatus | ft -AutoSize

This should show you your licensestatus in PowerShell and then you can work this in to your UD if needed.

Example of PowerShell output:

1 Like