Skip to content

Get-MSTTeamMemberByRole-Html

Teams: HTML report of team members by role

#Requires -Version 5.1

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

Process {
    try {
        [hashtable]$getArgs = @{'ErrorAction' = 'Stop'}
        $teams = Get-Team @getArgs | Sort-Object DisplayName
        $result = @()

        foreach ($team in $teams) {
            foreach ($grp in $Roles) {
                Get-TeamUser -GroupId $team.GroupId -Role $grp -ErrorAction Stop | Sort-Object Name | ForEach-Object {
                    $result += [PSCustomObject]@{
                        Team     = $team.DisplayName
                        UserName = $_.Name
                        User     = $_.User
                        Role     = $_.Role
                    }
                }
            }
        }

        if ($result.Count -eq 0) {
            Write-Output "No team members found"
            return
        }

        Write-Output ($result | ConvertTo-Html -Fragment)
    }
    catch { throw }
}

One or more role types to include (Owner, Member, Guest)

An interactive directory of PowerShell scripts.