From 5fc74e2bfc5ac68013e2a537c80b6a3c593cb8f7 Mon Sep 17 00:00:00 2001 From: Eilaf Barmare Date: Mon, 9 Sep 2024 22:39:20 +0530 Subject: [PATCH 1/2] Graph script to get licenses by SKU and send email if license count is low This PowerShell script monitors the license counts for specific Microsoft 365 SKUs and sends an email alert if any SKU has less than 5 licenses remaining. --- .../README.md | 120 ++++++++++++++++ .../assets/output.png | Bin 0 -> 39061 bytes .../assets/template.sample.json | 135 ++++++++++++++++++ 3 files changed, 255 insertions(+) create mode 100644 scripts/graph-get-licenses-by-sku-email-if-low/README.md create mode 100644 scripts/graph-get-licenses-by-sku-email-if-low/assets/output.png create mode 100644 scripts/graph-get-licenses-by-sku-email-if-low/assets/template.sample.json diff --git a/scripts/graph-get-licenses-by-sku-email-if-low/README.md b/scripts/graph-get-licenses-by-sku-email-if-low/README.md new file mode 100644 index 000000000..587961458 --- /dev/null +++ b/scripts/graph-get-licenses-by-sku-email-if-low/README.md @@ -0,0 +1,120 @@ +--- +plugin: add-to-gallery +--- + +# Microsoft 365 License Monitoring and Alert Script + +> [!Note] +> This PowerShell script monitors the license counts for specific Microsoft 365 SKUs and sends an email alert if any SKU has less than 5 licenses remaining. Ensure that the MSAL.PS and Microsoft.Graph modules are installed and updated to the latest versions. The client secret should be securely managed and not hard-coded in the script. You can also tweak the script and specify the SKU you are interested to fetch, or specify the threshold number of licenses to trigger alert email. + +## Summary + +This script is designed to help administrators monitor the availability of Microsoft 365 licenses for specific SKUs, including Microsoft 365 Copilot, Microsoft 365 E3, Office 365 E1, and Microsoft Defender Plan 1. It retrieves the current license counts using the Microsoft Graph API and sends an email alert if any SKU has fewer than 5 licenses remaining. The script includes error handling for API calls and module imports, and formats the email body as an HTML table for clear presentation of the license data. + +To use this script, you need to: + +- Register an Application in Azure AD/Entra ID to generate a Client ID and Secret for authentication. +- Provide the application with the “Directory.Read.All” and “Mail.Send” permissions (from API Permission > Application) to get license details and send notification emails using Graph API calls through MSAL. +- Use the Client ID and Secret values of the registered application in the script. +- Optional: Host the script on Azure/AWS/Server machine to run weekly or biweekly to send automated alerts + +Screenshot of the script execution output is below. + +![Example Screenshot](assets/output.png) + +# [Microsoft Graph PowerShell](#tab/graphps) + +```powershell +# Uncomment and install MSAL.PS and Microsoft.Graph PowerShell modules, skip if already installed +# Install-Module -Name MSAL.PS +# Install-Module -Name Microsoft.Graph + +Import-Module Microsoft.Graph.Users +Import-Module MSAL.PS + +# Set variables +$tenantId = "replace_with_value" +$clientId = "replace_with_value" +$clientSecret = "replace_with_value" +$emailSender = "sharedmailbox@contoso.com" +$emailRecipients = @("user1@contoso.com", "user2@contoso.com", "DL.Name@contoso.com") +$emailSubject = "Microsoft 365 - Low License Alert" + +# Convert client secret to secure string +$clientSecretSecure = ConvertTo-SecureString -String $clientSecret -AsPlainText -Force + +# Use the secure string in Get-MsalToken +$tokenResponse = Get-MsalToken -ClientId $clientId -ClientSecret $clientSecretSecure -TenantId $tenantId -Scopes "https://graph.microsoft.com/.default" + +# Get an OAuth 2.0 token +$accessToken = $tokenResponse.AccessToken + +# Get the list of SKUs with less than 5 licenses left for specified SKUs +$uri = "https://graph.microsoft.com/v1.0/subscribedSkus" +$response = Invoke-RestMethod -Uri $uri -Method GET -Headers @{ Authorization = "Bearer $accessToken" } + +$copilot = $response.value | Where-Object {($_.skuPartNumber -eq "Microsoft_365_Copilot")} +$e3 = $response.value | Where-Object {($_.skuPartNumber -eq "SPE_E3")} +$e1 = $response.value | Where-Object {($_.skuPartNumber -eq "STANDARDPACK")} +$defender1 = $response.value | Where-Object {($_.skuPartNumber -eq "ATP_ENTERPRISE")} + +$copilotAvailableUnits = $copilot.prepaidUnits.enabled - $copilot.consumedUnits +$e3AvailableUnits = $e3.prepaidUnits.enabled - $e3.consumedUnits +$e1AvailableUnits = $e1.prepaidUnits.enabled - $e1.consumedUnits +$defender1AvailableUnits = $defender1.prepaidUnits.enabled - $defender1.consumedUnits + +# If there are SKUs with less than 5 licenses left, send an email +if (($copilotAvailableUnits -le 5) -or ($e3AvailableUnits -le 5) -or ($e1AvailableUnits -le 5) -or ($defender1AvailableUnits -le 5)) { + $emailBody = "" + $emailBody += "" + $emailBody += "" + $emailBody += "" + $emailBody += "" + $emailBody += "
SKU NameTotal License CountTotal License UsedTotal Available License Count Left
Microsoft_365_Copilot$($copilot.prepaidUnits.enabled)$($copilot.consumedUnits)$($copilotAvailableUnits)
Microsoft 365 E3$($e3.prepaidUnits.enabled)$($e3.consumedUnits)$($e3AvailableUnits)
Office 365 E1$($e1.prepaidUnits.enabled)$($e1.consumedUnits)$($e1AvailableUnits)
Microsoft Defender Plan 1$($defender1.prepaidUnits.enabled)$($defender1.consumedUnits)$($defender1AvailableUnits)
" + + # Create the email message + $emailMessage = @{ + Message = @{ + Subject = $emailSubject + Body = @{ + Content = $emailBody + ContentType = "HTML" + } + ToRecipients = @( + $emailRecipients | ForEach-Object { + @{ + EmailAddress = @{ + Address = $_ + } + } + } + ) + } + SaveToSentItems = "true" + } + + # Send the email + $response = Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/users/$emailSender/sendMail" ` + -Method POST ` + -Headers @{ Authorization = "Bearer $accessToken" } ` + -Body (ConvertTo-Json $emailMessage -Depth 100) ` + -ContentType "application/json" + + Write-Output "Email sent successfully" +} +else { + Write-Output "No SKUs with less than 5 licenses left" +} + +``` +[!INCLUDE [More about Microsoft Graph PowerShell SDK](../../docfx/includes/MORE-GRAPHSDK.md)] + +## Contributors + +| Author(s) | +|-----------| +| Eilaf Barmare | + + +[!INCLUDE [DISCLAIMER](../../docfx/includes/DISCLAIMER.md)] + \ No newline at end of file diff --git a/scripts/graph-get-licenses-by-sku-email-if-low/assets/output.png b/scripts/graph-get-licenses-by-sku-email-if-low/assets/output.png new file mode 100644 index 0000000000000000000000000000000000000000..41877d4e48d0602195cc5e9c6de67e97aa27e012 GIT binary patch literal 39061 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 WVVgYX>37eQKoXv=elF{r5}E)4m|HRc literal 0 HcmV?d00001 diff --git a/scripts/graph-get-licenses-by-sku-email-if-low/assets/template.sample.json b/scripts/graph-get-licenses-by-sku-email-if-low/assets/template.sample.json new file mode 100644 index 000000000..bfa9528c4 --- /dev/null +++ b/scripts/graph-get-licenses-by-sku-email-if-low/assets/template.sample.json @@ -0,0 +1,135 @@ +[ + { + "name": "", + "source": "pnp", + "title": "", + "shortDescription": "", + "url": "https://pnp.github.io/script-samples/<foldername>/README.html", + "longDescription": [ + "" + ], + "creationDateTime": "2023-01-20", + "updateDateTime": "2023-01-20", + "products": [ + "SharePoint", + "Office", + "Graph", + "PowerApps", + "Teams", + "Power Automate", + "Microsoft Todo", + "Azure", + "Microsoft 365 Copilot" + ], + "metadata": [ + { + "key": "PNP-POWERSHELL", + "value": "1.11.0" + }, + { + "key": "CLI-FOR-MICROSOFT365", + "value": "5.6.0" + }, + { + "key": "GRAPH-POWERSHELL", + "value": "1.0.0" + }, + { + "key": "SPO-MANAGEMENT-SHELL", + "value": "16.0.21116.12000" + }, + { + "key": "AZURE-CLI", + "value": "2.27.0" + }, + { + "key": "MICROSOFTTEAMS-POWERSHELL", + "value": "3.0.0" + }, + { + "key": "POWERAPPS-POWERSHELL", + "value": "2.0.0" + }, + { + "key": "POWERSHELL", + "value": "7.2.0" + }, + { + "key": "MICROSOFTWHITEBOARDADMIN", + "value": "1.5.0" + } + ], + "categories": [ + "Modernize", + "Data", + "Deploy", + "Provision", + "Configure", + "Report", + "Security", + "AI", + "Microsoft 365 Copilot" + ], + "tags": [ + "<Cmdlets-Used>" + ], + "thumbnails": [ + { + "type": "image", + "order": 100, + "url": "https://raw.githubusercontent.com/pnp/script-samples/main/scripts/<foldername>/assets/preview.png", + "alt": "Preview of the sample <title>" + } + ], + "authors": [ + { + "gitHubAccount": "<your-github-username>", + "company": "", + "pictureUrl": "https://github.com/<github-username>.png", + "name": "<Full Name>" + } + ], + "references": [ + { + "name": "Want to learn more about PnP PowerShell and the cmdlets", + "description": "Check out the PnP PowerShell site to get started and for the reference to the cmdlets.", + "url": "https://aka.ms/pnp/powershell" + }, + { + "name": "Want to learn more about CLI for Microsoft 365 and the commands", + "description": "Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.", + "url": "https://aka.ms/cli-m365" + }, + { + "name": "Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets", + "description": "Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.", + "url": "https://learn.microsoft.com/graph/powershell/get-started" + }, + { + "name": "Want to learn more about Power Apps PowerShell and the cmdlets", + "description": "Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.", + "url": "https://learn.microsoft.com/power-platform/admin/powerapps-powershell" + }, + { + "name": "Introduction to the SharePoint Online Management Shell", + "description": "Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.", + "url": "https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell" + }, + { + "name": "Want to learn more about Microsoft Teams PowerShell and the cmdlets", + "description": "Check out the Microsoft Teams PowerShell documentation site to get started and for the reference to the cmdlets.", + "url": "https://learn.microsoft.com/microsoftteams/teams-powershell-overview" + }, + { + "name": "Want to learn more about Azure CLI and the commands", + "description": "Check out the Azure CLI documentation site to get started and for the reference to the commands.", + "url": "https://learn.microsoft.com/cli/azure/" + }, + { + "name":"Want to learn more about Whiteboard Admin cmdlets", + "description":"Check out the Whiteboard Admin cmdlets documentation site to get started and for the reference to the commands.", + "url": "https://learn.microsoft.com/powershell/module/whiteboard" + } + ] + } +] From 4ee0ea6959f2a01fc8aa10fcb3c6349027fef22c Mon Sep 17 00:00:00 2001 From: Paul Bullock <me@pkbullock.com> Date: Wed, 11 Sep 2024 18:27:19 +0100 Subject: [PATCH 2/2] small tweaks to add metadata to sample --- .../README.md | 3 +- .../assets/preview.png | Bin 0 -> 34024 bytes .../assets/sample.json | 53 +++++++ .../assets/template.sample.json | 135 ------------------ 4 files changed, 55 insertions(+), 136 deletions(-) create mode 100644 scripts/graph-get-licenses-by-sku-email-if-low/assets/preview.png create mode 100644 scripts/graph-get-licenses-by-sku-email-if-low/assets/sample.json delete mode 100644 scripts/graph-get-licenses-by-sku-email-if-low/assets/template.sample.json diff --git a/scripts/graph-get-licenses-by-sku-email-if-low/README.md b/scripts/graph-get-licenses-by-sku-email-if-low/README.md index 587961458..9ec637108 100644 --- a/scripts/graph-get-licenses-by-sku-email-if-low/README.md +++ b/scripts/graph-get-licenses-by-sku-email-if-low/README.md @@ -108,6 +108,7 @@ else { ``` [!INCLUDE [More about Microsoft Graph PowerShell SDK](../../docfx/includes/MORE-GRAPHSDK.md)] +*** ## Contributors @@ -117,4 +118,4 @@ else { [!INCLUDE [DISCLAIMER](../../docfx/includes/DISCLAIMER.md)] -<img src="https://m365-visitor-stats.azurewebsites.net/script-samples/scripts/template-script-submission" aria-hidden="true" /> \ No newline at end of file +<img src="https://m365-visitor-stats.azurewebsites.net/script-samples/scripts/graph-get-licenses-by-sku-email-if-low" aria-hidden="true" /> \ No newline at end of file diff --git a/scripts/graph-get-licenses-by-sku-email-if-low/assets/preview.png b/scripts/graph-get-licenses-by-sku-email-if-low/assets/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..8c3d2f2646b24b52fc95552133f8a5364fa17c8a GIT binary patch literal 34024 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 CxV>!v literal 0 HcmV?d00001 diff --git a/scripts/graph-get-licenses-by-sku-email-if-low/assets/sample.json b/scripts/graph-get-licenses-by-sku-email-if-low/assets/sample.json new file mode 100644 index 000000000..d615e8fe5 --- /dev/null +++ b/scripts/graph-get-licenses-by-sku-email-if-low/assets/sample.json @@ -0,0 +1,53 @@ +[ + { + "name": "graph-get-licenses-by-sku-email-if-low", + "source": "pnp", + "title": "Microsoft 365 License Monitoring and Alert Script", + "shortDescription": "This script is designed to help administrators monitor the availability of Microsoft 365 licenses for specific SKUs", + "url": "https://pnp.github.io/script-samples/graph-get-licenses-by-sku-email-if-low/README.html", + "longDescription": [ + "" + ], + "creationDateTime": "2024-09-11", + "updateDateTime": "2024-09-11", + "products": [ + "Graph" + ], + "metadata": [ + { + "key": "GRAPH-POWERSHELL", + "value": "1.0.0" + } + ], + "categories": [ + "Configure", + "Report" + ], + "tags": [ + "<Cmdlets-Used>" + ], + "thumbnails": [ + { + "type": "image", + "order": 100, + "url": "https://raw.githubusercontent.com/pnp/script-samples/main/scripts/graph-get-licenses-by-sku-email-if-low/assets/preview.png", + "alt": "Preview of the sample Microsoft 365 License Monitoring and Alert Script" + } + ], + "authors": [ + { + "gitHubAccount": "EilafBarmare", + "company": "", + "pictureUrl": "https://github.com/EilafBarmare.png", + "name": "Eilaf Barmare" + } + ], + "references": [ + { + "name": "Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets", + "description": "Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.", + "url": "https://learn.microsoft.com/graph/powershell/get-started" + } + ] + } +] diff --git a/scripts/graph-get-licenses-by-sku-email-if-low/assets/template.sample.json b/scripts/graph-get-licenses-by-sku-email-if-low/assets/template.sample.json deleted file mode 100644 index bfa9528c4..000000000 --- a/scripts/graph-get-licenses-by-sku-email-if-low/assets/template.sample.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "name": "<foldername>", - "source": "pnp", - "title": "<title>", - "shortDescription": "", - "url": "https://pnp.github.io/script-samples/<foldername>/README.html", - "longDescription": [ - "" - ], - "creationDateTime": "2023-01-20", - "updateDateTime": "2023-01-20", - "products": [ - "SharePoint", - "Office", - "Graph", - "PowerApps", - "Teams", - "Power Automate", - "Microsoft Todo", - "Azure", - "Microsoft 365 Copilot" - ], - "metadata": [ - { - "key": "PNP-POWERSHELL", - "value": "1.11.0" - }, - { - "key": "CLI-FOR-MICROSOFT365", - "value": "5.6.0" - }, - { - "key": "GRAPH-POWERSHELL", - "value": "1.0.0" - }, - { - "key": "SPO-MANAGEMENT-SHELL", - "value": "16.0.21116.12000" - }, - { - "key": "AZURE-CLI", - "value": "2.27.0" - }, - { - "key": "MICROSOFTTEAMS-POWERSHELL", - "value": "3.0.0" - }, - { - "key": "POWERAPPS-POWERSHELL", - "value": "2.0.0" - }, - { - "key": "POWERSHELL", - "value": "7.2.0" - }, - { - "key": "MICROSOFTWHITEBOARDADMIN", - "value": "1.5.0" - } - ], - "categories": [ - "Modernize", - "Data", - "Deploy", - "Provision", - "Configure", - "Report", - "Security", - "AI", - "Microsoft 365 Copilot" - ], - "tags": [ - "<Cmdlets-Used>" - ], - "thumbnails": [ - { - "type": "image", - "order": 100, - "url": "https://raw.githubusercontent.com/pnp/script-samples/main/scripts/<foldername>/assets/preview.png", - "alt": "Preview of the sample <title>" - } - ], - "authors": [ - { - "gitHubAccount": "<your-github-username>", - "company": "", - "pictureUrl": "https://github.com/<github-username>.png", - "name": "<Full Name>" - } - ], - "references": [ - { - "name": "Want to learn more about PnP PowerShell and the cmdlets", - "description": "Check out the PnP PowerShell site to get started and for the reference to the cmdlets.", - "url": "https://aka.ms/pnp/powershell" - }, - { - "name": "Want to learn more about CLI for Microsoft 365 and the commands", - "description": "Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.", - "url": "https://aka.ms/cli-m365" - }, - { - "name": "Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets", - "description": "Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.", - "url": "https://learn.microsoft.com/graph/powershell/get-started" - }, - { - "name": "Want to learn more about Power Apps PowerShell and the cmdlets", - "description": "Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.", - "url": "https://learn.microsoft.com/power-platform/admin/powerapps-powershell" - }, - { - "name": "Introduction to the SharePoint Online Management Shell", - "description": "Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.", - "url": "https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell" - }, - { - "name": "Want to learn more about Microsoft Teams PowerShell and the cmdlets", - "description": "Check out the Microsoft Teams PowerShell documentation site to get started and for the reference to the cmdlets.", - "url": "https://learn.microsoft.com/microsoftteams/teams-powershell-overview" - }, - { - "name": "Want to learn more about Azure CLI and the commands", - "description": "Check out the Azure CLI documentation site to get started and for the reference to the commands.", - "url": "https://learn.microsoft.com/cli/azure/" - }, - { - "name":"Want to learn more about Whiteboard Admin cmdlets", - "description":"Check out the Whiteboard Admin cmdlets documentation site to get started and for the reference to the commands.", - "url": "https://learn.microsoft.com/powershell/module/whiteboard" - } - ] - } -]