POWERSHELL / MICROSOFT.GRAPH.APPLICATIONS
ProAdvancedRead-onlylow

Export Entra service principals

Export Microsoft Entra service principals to CSV with PowerShell for enterprise-application and application-access review.

Pro generation after license validation · Review before running · Opselith does not connect to your tenant

What this PowerShell script does

Exports enterprise applications and key sign-in relevant properties

Requirements

    Environment

    • Module: Microsoft.Graph.Applications
    • Permissions: Application.Read.All
    • Output: CSV report
    • Context: Microsoft Graph PowerShell
    • Risk: Low
    Review before you run The full Pro script is generated by Opselith after license validation. Test outside production first.
    NEXT STEP

    Ready to generate

    Configure Export Entra service principals 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 Pro PowerShell script when you need to export enterprise applications and key sign-in relevant properties. It can be previewed in the Builder; Pro access is required to generate it for your own environment.

    The template uses Microsoft.Graph.Applications and requires Application.Read.All. Output: CSV report. Level: Advanced. Action: Read-only. Risk: Low.

    Review before running

    The script remains preview-only until Pro access is enabled. Review it before running it, and test it outside production first. “Read-only” describes the script itself; anything you add around it can still change data.

    Preview the script

    1. Open the template in the PowerShell Builder.
    2. Review the purpose, requirements, permissions, output and risk.
    3. Activate Pro when you are ready to generate the full script, then test it outside production.

    Pro templates remain previewable before purchase or activation. No tenant connection is required. When you generate a Pro script, only the configuration values needed for that template are sent to Opselith after license validation.Preview Export Entra service principals →

    How to use this result

    Use this report to inventory service-principal objects representing applications and other service identities in the tenant.

    When this helps

    • Create an enterprise-application inventory before permission, ownership or migration review.
    • Find disabled service principals or apps where user assignment is required.

    How to read the result

    • A service principal is the tenant-local application/service identity; it is distinct from the application registration object.
    • AppRoleAssignmentRequired indicates whether assignment is required for user access in applicable scenarios; it does not summarize every application access control.

    Things to check

    • The inventory does not by itself show OAuth consent grants, app-role assignments, owners or credential expiry.
    • Built-in and Microsoft-managed service principals can appear alongside organization-created enterprise applications.

    What to do next: Use permissions, owner and credential reports for service principals that require deeper review before changing them.

    Related tasks

    Official references

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

    Script details

    Exports enterprise applications and key sign-in relevant properties Review these details before generating or running the script.

    entraexportapplication
    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.Applications

    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: Application.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 Pro library. Generating the full script requires eligible Pro or tester access. Opselith receives only the values needed to build the script; it does not connect to your tenant, run PowerShell or store the generated script. You review and run the result in your own PowerShell session.

    Example use

    Exports enterprise applications and key sign-in relevant properties

    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 Application.Read.All. Check that the Microsoft.Graph.Applications 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.