POWERSHELL / MICROSOFT.GRAPH.IDENTITY.DIRECTORYMANAGEMENT
FreeIntermediateRead-onlylow

Export tenant license SKUs

Export Microsoft Entra subscribed license SKUs and their current capacity and consumption values to CSV with PowerShell.

Generated locally in your browser · Review before running · Opselith does not connect to your tenant

What this PowerShell script does

Exports subscribed product SKUs and consumed units

Requirements

    Environment

    • Module: Microsoft.Graph.Identity.DirectoryManagement
    • Permissions: Organization.Read.All
    • Output: CSV report
    • Context: Microsoft Graph PowerShell
    • Risk: Low
    Review before you run The script is generated locally. Test outside production first.
    NEXT STEP

    Ready to generate

    Configure Export tenant license SKUs in the Builder, review the generated PowerShell and run it yourself in your own PowerShell session.

    More about this script

    Why use this template?

    Use this free PowerShell script when you need to export subscribed product skus and consumed units. It is generated locally and can be reviewed before you run it yourself in your own PowerShell session.

    The template uses Microsoft.Graph.Identity.DirectoryManagement and requires Organization.Read.All. Output: CSV report. Level: Intermediate. Action: Read-only. Risk: Low.

    Review before running

    The script is generated in your browser. Read it before you run it, and test it outside production first. “Read-only” describes the script itself; anything you add around it can still change data.

    Generate the script

    1. Open the template in the PowerShell Builder.
    2. Enter the requested values and review the module, permissions, output and risk.
    3. Generate the script, read it carefully, and test it outside production before use.

    The script is generated locally in your browser. Nothing needs to be uploaded to Opselith.

    Generate Export tenant license SKUs →

    How to use this result

    Use this report to capture subscribed SKU identifiers and current consumed/prepaid unit counts for tenant licensing review.

    When this helps

    • Create a tenant license-capacity snapshot before a licensing or migration review.
    • Compare consumed units with enabled, suspended and warning prepaid-unit values by SKU.

    How to read the result

    • ConsumedUnits is the number currently consumed for the SKU; EnabledUnits comes from the prepaid-unit state exposed by Microsoft Graph.
    • This is a tenant subscription-capacity report, not a per-user assignment report or billing invoice.

    Things to check

    • SKU part numbers are technical identifiers and may need to be mapped to current product names for business reporting.
    • Capacity figures alone do not show which users hold licenses or whether those assignments are appropriate.

    What to do next: Use the SKU snapshot together with licensed-user exports and your commercial records before changing license purchases or assignments.

    Related tasks

    Official references

    Before you runModule, permissions, inputs, compatibility and script checks
    OPS / SCRIPT DETAILS

    Script details

    Exports subscribed product SKUs and consumed units Review these details before generating or running the script.

    entraexportlicensing
    Generated here. Run by you.Opselith does not connect to your tenant or run PowerShell. After generating, review the script and run it in your own PowerShell session.

    What it works with

    Module: Microsoft.Graph.Identity.DirectoryManagement

    Microsoft Graph PowerShell lets the script work with Microsoft Entra and Microsoft 365 data through Microsoft Graph.

    Context: Microsoft Graph PowerShell

    Compatibility: PowerShell 7 is the supported target for this cloud template.

    Permissions and changes

    Permissions: Organization.Read.All

    Risk: Low

    Read-only: designed to collect information without intentionally changing the target environment.

    Changes: Read-only. The script reads data and does not intentionally change the target environment.

    Inputs

    • CSV output path - Example: C:\Temp\report.csv (Required)

    What to expect

    Output: CSV report

    Expect a CSV file at the path you choose. Open it in Excel or another CSV viewer and review the rows.

    Example: C:\Temp\report.csv

    This template is in the Free library and is generated locally in your browser. Opselith does not run it; you review and run the script in your own PowerShell session.

    Example use

    Exports subscribed product SKUs and consumed units

    Enter the required values in the Builder, review the generated script and confirm the output before running it.

    Before you run: Make sure your account has Organization.Read.All. Check that the Microsoft.Graph.Identity.DirectoryManagement PowerShell module is available and that you are using the supported PowerShell version. Review the generated script and output path, then test outside production first.
    Script checksWhat has been verifiedQA reviewed
    Static checksPassed
    PSScriptAnalyzerPending
    Real-world run testNot yet recorded
    Last checkedNot yet recorded

    Real-world run results are shown only after Opselith reviews and accepts a tester report.

    Tester: report a result →
    TEST STATUSWhat Opselith has checked

    Last reviewed: 10 Sept 2026

    PSScriptAnalyzer: Awaiting a release PSScriptAnalyzer gate that includes this script. No analyzer pass is claimed yet.

    Pending or Not yet recorded means there is no accepted result on file yet. A passed analyzer check does not mean the script has been run in a real tenant.