Microsoft Teams security

How to find public teams in Microsoft Teams

List public teams and their owners with the Microsoft Teams PowerShell module, read the Privacy column in the Teams admin centre, or run Altivane's Team Inventory report.

By the Published

To find public teams in Microsoft Teams, run Get-Team -Visibility Public from the Microsoft Teams PowerShell module. Anyone in your organisation can join a public team directly, with no owner's approval, and then read its standard channels and files. The cmdlet returns archived teams too unless you add -Archived $false.

Choose the method that fits the job
MethodBest fit
PowerShellA CSV of every active public team with its owners and number of users.
Admin centreA quick look at each team's privacy in the teams list.
AltivaneRecommended for regular security reviews, with each team's visibility beside its owners, members, guests and sensitivity label.

Before you start

Use an account with the Teams Administrator role, which manages the teams in the organisation. Microsoft says the Teams Reader role can't view team management in the Teams admin centre. The example passes no permission or scope: its access is the signed-in account's role.

Know the 3 kinds of privacy. Microsoft says a private team is restricted to members its owners approve, a public team is open to anyone in the organisation, and a team with hidden membership shows its members only to administrators. A team's privacy is the visibility of the Microsoft 365 group it is built on. The examples read and export; they change no team's privacy.

Option 1

Find public teams with PowerShell

Install the module once, then connect and export the active public teams with their owners.

PowerShell
# Install once, if the module is not already installed.
Install-Module MicrosoftTeams -Scope CurrentUser
PowerShell
$ErrorActionPreference = 'Stop'
Connect-MicrosoftTeams | Out-Null
try {
    $teams = @(Get-Team -Visibility Public -Archived $false)
    $report = @(foreach ($team in $teams) {
        $users = @(Get-TeamUser -GroupId $team.GroupId)
        $owners = @(Get-TeamUser -GroupId $team.GroupId -Role Owner)
        [pscustomobject]@{
            Team = $team.DisplayName
            GroupId = $team.GroupId
            MailNickName = $team.MailNickName
            Owners = ($owners.Name -join '; ')
            OwnerCount = $owners.Count
            Users = $users.Count
        }
    })
    if ($report.Count -eq 0) {
        Write-Output 'No active team is public.'
    } else {
        $report | Sort-Object Users -Descending |
            Export-Csv -Path './public-teams.csv' -NoTypeInformation -Encoding utf8
        Write-Output "$($report.Count) public teams exported."
    }
} finally {
    Disconnect-MicrosoftTeams
}

The CSV has 1 row per public team, the largest first. The script makes 2 calls per team, 1 for every user and 1 for the owners, so a tenant with many teams takes a while. Remove -Archived $false to include archived teams, or change Public to HiddenMembership to list the teams that hide their members.

Option 2

Review team privacy in the admin centre

  1. Sign in to the Microsoft Teams admin centre for the correct tenant.
  2. Go to Teams > Manage teams.
  3. Read the Privacy column, which says whether each team is public or private. If it isn't shown, select Edit columns and turn it on.
  4. Select a public team's name to see its owners, members and guests.
  5. Leave the page without choosing Edit, so the team's privacy doesn't change.

This suits a quick look at the teams list. For a list you can keep, with each public team's owners beside it, use PowerShell or a report.

Common questions

Can people outside the organisation join a public team?

No. Public opens the team to people in your organisation. A guest gets in only when someone adds them, such as a team owner or a Teams administrator. To find the teams that have guests, see how to find teams with guests in Microsoft Teams.

Do private teams show up when people search?

Not by default. Microsoft says people can't search for private teams unless a Teams policy turns on private team discovery for them, and then they can only ask to join, which the owners approve or deny.

Can a team be changed to hidden membership later?

No. Microsoft says hidden membership can be set only when the Microsoft 365 group is created. Public and private can be switched after that.

Microsoft references

Technical references checked on 7 November 2026. The example scripts have been reviewed and syntax checked; they have not been run against a live tenant.

Talk to us about Altivane

Questions, or pricing? Get in touch.

Contact us