List guests within Teams in a tenant
Summary
List all guests in Microsoft Teams teams in the tenant and exports the results in a CSV.
PnP PowerShell script uses Microsoft Graph behind the scenes to get all teams and guest users. it requires an application/user that has been granted the Microsoft Graph API permission : Group.Read.All or Group.ReadWrite.All
Install-Module MicrosoftTeams
Connect-MicrosoftTeams
$teams = @()
$externalteams = @()
$teams = get-team
foreach ($team in $teams){
$groupid = ($team.groupid)
$users = (Get-TeamUser -GroupId $team.groupid | Where-Object {$_.Role -eq "Guest"})
$extcount = ($users.count)
foreach ($extuser in $users){
$id = $team.groupid
$teamext = ((Get-Team | Where-Object {$_.groupid -eq "$id"}).DisplayName).ToString()
$ext = $extuser.User
$externalteams += [pscustomobject]@{
ExtUser = $ext
GroupID = $id
TeamName = $teamext
}
}
}
if ($externalteams.Count -gt 0){
Write-Host "Exporting the guest members in teams results.."
$externalteams | Export-Csv -Path "GuestUsersFromTeams.csv" -NoTypeInformation
Write-Host "Completed."
}
else{
Write-host "there are no external user added to any team in your organization" -ForegroundColor yellow
}
Check out the Microsoft Teams PowerShell to learn more at: https://learn.microsoft.com/microsoftteams/teams-powershell-overview
Contributors
Author(s) |
---|
Jiten Parmar |
Leon Armston |
Jasey Waegebaert |
Disclaimer
THESE SAMPLES ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.