POWERSHELL / MICROSOFTTEAMS
FreeIntermediateRead-onlylow

Find Teams without owners

Find Microsoft Teams for which Get-TeamUser returns no owner and export the results to CSV with PowerShell.

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

What this PowerShell script does

Finds Teams that have no owner returned by Get-TeamUser

Requirements

    Environment

    • Module: MicrosoftTeams
    • Permissions: Teams Administrator or appropriate Teams access
    • Output: CSV report
    • Context: Microsoft Teams PowerShell
    • Risk: Low
    Review before you run The script is generated locally. Test outside production first.
    NEXT STEP

    Ready to generate

    Configure Find Teams without owners 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 find teams that have no owner returned by get-teamuser. It is generated locally and can be reviewed before you run it yourself in your own PowerShell session.

    The template uses MicrosoftTeams and requires Teams Administrator or appropriate Teams access. 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 Find Teams without owners →

    How to use this result

    Use this report to identify Teams that appear to have no owner so they can be reviewed before governance or migration work.

    When this helps

    • Find ownerless Teams during a periodic governance review.
    • Create a focused follow-up list before migration, restructuring or archival decisions.

    How to read the result

    • A No owners row means Get-TeamUser returned zero owners for that Team during this run.
    • An ERROR row means ownership could not be determined and must be investigated separately.

    Things to check

    • A failed owner lookup is not proof that the Team has no owner.
    • Archived Teams can still need an accountable owner, so do not discard them automatically.

    What to do next: Resolve ERROR rows first, then confirm a business owner for genuine ownerless Teams through your normal governance process.

    Related tasks

    Official references

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

    Script details

    Finds Teams that have no owner returned by Get-TeamUser Review these details before generating or running the script.

    teamsfindpermissionsownership
    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: MicrosoftTeams

    MicrosoftTeams lets PowerShell read or manage Microsoft Teams settings.

    Context: Microsoft Teams PowerShell

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

    Permissions and changes

    Permissions: Teams Administrator or appropriate Teams access

    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

    Finds Teams that have no owner returned by Get-TeamUser

    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 Teams Administrator or appropriate Teams access. Check that the MicrosoftTeams 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.