Overview
License optimizations is a document type in Azure Documenter that identifies opportunities to optimize Microsoft 365 licensing. It analyzes license usage patterns and highlights inefficiencies such as unused licenses, overlapping assignments, and licenses held by inactive users.
Business value
License optimizations reporting helps IT and finance teams reduce Microsoft 365 license spend by surfacing concrete reclamation and consolidation opportunities, without manually auditing the Microsoft 365 admin center.
Prerequisites
The app registration must have the following application permissions configured in Microsoft Entra ID:
- Organization.Read.All: required to retrieve organization-level license and tenant details.
- User.Read.All: required to read user profiles and their assigned licenses.
If either permission is missing or not consented to, document generation results in incomplete or failed output. Ensure an administrator has granted tenant-wide admin consent for both permissions in the Azure portal.
Required permissions
| Role | Permission level | Access |
|---|---|---|
| Account owner, Owner, Contributor | ā | Full access to the Documentation section |
| Custom role | Read | View documents generated under Documentation |
| Custom role | Manage | View, generate, and manage documents under Documentation |
How it works
The License optimizations document analyzes license usage patterns and highlights where licenses can be reclaimed or consolidated. It covers:
- Unused or underutilized licenses: licenses not being actively used
- Redundant or overlapping license assignments: users assigned multiple licenses with duplicate service plans
- Optimization opportunities: concrete actions to reduce license spend
Document structure:
- Summary: an overall assessment of optimization potential. A summary table shows counts for consolidation opportunities, overlapping license combinations, disabled users with licenses, inactive users with licenses, and total users analyzed. Bar charts beneath the table show the user-level percentage breakdown across five categories: consolidation opportunities, overlapping licenses, disabled users with licenses, inactive users with licenses, and users with no issues detected.
- License consolidation opportunities: identifies SKU combinations that could be replaced by a single comprehensive SKU. For each opportunity, the document shows the recommended target SKU, current licenses to replace, total users affected, overlap analysis (unique user count and duplicate license count), potential savings count, business benefit, and a recommended action. The section also includes guidance on how to evaluate and act on each consolidation recommendation before migrating users.
- Users with overlapping license assignments: lists users assigned multiple SKUs with duplicate service plans, where duplicate services are unnecessarily paid for. Each entry shows the SKU combination, the number of affected users, the count of overlapping service plans, the overlapping service plan identifiers (shown as technical plan codes such as
FORMS_PLAN_E1orMCOSTANDARD), and a sample list of affected user accounts. - Disabled users with active licenses: lists accounts that are disabled in Microsoft Entra ID but still hold active license assignments. Includes a license type summary table (license type and count per SKU) followed by a per-user breakdown showing user principal name, display name, user type, number of licenses, and assigned licenses.
- Inactive users with active licenses: lists users who have not signed in for 30 or more days, or who have never signed in, but still hold active license assignments. These may be abandoned accounts or users who no longer need access. Includes a license type summary table followed by a per-user list showing user principal name, display name, user type, number of licenses, assigned licenses, last sign-in date, and days inactive. Populating the last sign-in and days inactive columns requires the AuditLog.Read.All application permission on the app registration and an Azure AD Premium P1 or P2 license on the tenant.
Steps
Use the following steps to generate a License optimizations document. Navigate to Azure Documenter to get started.
- Click New configuration. The Configure your document wizard opens.
- In Step 1 ā Basics, enter a configuration name. Under Choose document type, select License optimizations. Click Next.
- In Step 2 ā Service principal, select the service principal and configure the subscription scope. Ensure the selected subscription has a client with appropriate access to retrieve tenant license data. Click Next.
- Complete Steps 3ā6 (Branding, Publish settings, Schedule, Notifications) as required. Click Next after each step.
- In Step 7 ā Review, confirm your configuration and click Finish.
Once generation is complete, a URL is created for the document, and you can download it using the Download link.
Example scenario
An IT administrator wants to identify licenses that can be reclaimed before a renewal. They generate a License optimizations document, review the disabled- and inactive-user sections to identify licenses held by accounts that no longer need them, and reclaim those licenses to reduce costs.
Limitations
- Document generation depends on the Organization.Read.All and User.Read.All Microsoft Entra ID permissions being granted with tenant-wide admin consent; missing consent results in incomplete or failed output.
Troubleshooting
-
Document generation fails or returns incomplete data
Cause: the app registration is missing the Organization.Read.All or User.Read.All permission, or tenant-wide admin consent hasn't been granted.
Fix: grant both permissions to the app registration in Microsoft Entra ID and ensure an administrator provides tenant-wide admin consent in the Azure portal. -
No optimization opportunities are returned
Cause: all licensed users are active and no overlapping assignments exist in the tenant at the time of generation.
Fix: confirm the document was generated with the correct subscription and that license usage data is current. -
Selected subscription returns no license data
Cause: the subscription's associated client doesn't have appropriate access to retrieve tenant license consumption details.
Fix: confirm the client tied to the subscription has the required Microsoft Entra ID permissions before generating.
FAQs
-
How does License optimizations differ from License consumption?
License consumption shows the current state of license allocation and usage. License optimizations identifies specific actions you can take to reduce license spend, such as reclaiming licenses from disabled or inactive users. -
What does the 'disabled users with active licenses' section show?
It lists user accounts that have been disabled in Microsoft Entra ID but still hold active license assignments that are consuming paid SKU capacity. -
What happens if the required Microsoft Entra ID permissions aren't granted?
Document generation results in incomplete or failed output until an administrator grants tenant-wide admin consent for both permissions.