Skip to content

Remove-MSTUsersFromAllTeams

Teams: Remove owners or members from all teams

#Requires -Version 5.1

[CmdletBinding()]
Param(
    [Parameter(Mandatory = $true)]
    [string[]]$Users,
    [ValidateSet('Member', 'Owner')]
    [string]$Role
)

Process {
    try {
        $teams = Get-Team -ErrorAction Stop
        [hashtable]$cmdArgs = @{'ErrorAction' = 'Stop'}
        if ($PSBoundParameters.ContainsKey('Role')) {
            $cmdArgs.Add('Role', $Role)
        }

        [string[]]$result = @()
        foreach ($team in $teams) {
            foreach ($usr in $Users) {
                try {
                    $null = Remove-TeamUser @cmdArgs -GroupId $team.GroupId -User ($usr.Trim())
                    $result += "User $($usr) removed from team $($team.DisplayName)"
                }
                catch {
                    $result += "Error removing user $($usr) from team $($team.DisplayName)"
                }
            }
        }

        foreach ($msg in $result) {
            [PSCustomObject]@{
                Timestamp = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
                Result    = $msg
            }
        }
    }
    catch { throw }
}

One or more User UPNs

User role filter for removal (Member or Owner)

An interactive directory of PowerShell scripts.