The estimated reading time 2 minutes
Hallo zusammen,
ich habe mir heute die Frage gestellt, wie finde ich alle meine Teams heraus, welche Teams Gastbenutzer hinzugefügt haben. Meine Teams = Teams in denen der Benutzer, den ich anmelde Mitglied ist
Leider ist das cmdlet get-team nutzerorientiert und somit nur bedingt einsetzbar.
Hierzu habe ich ein kleines Script geschrieben, welches dies ausliest und in ein separates Fenster ausgibt. Dies Form der Auswertung kann natürlich auch beliebig in Dateien etc. umgeleitet werden (HTML Bericht wird ebenfalls generiert)
#connect ms teams
Connect-MicrosoftTeams
#generate array
$teams = @()
$externalteams = @()
#get all teams in organization
$teams = get-team
#go through every team and search for external users
foreach ($team in $teams){
#get groupid of the team
$groupid = ($team.groupid)
#search external users
$users = (Get-TeamUser -GroupId $team.groupid | Where-Object {$_.Role -eq "Guest"})
#count external users
$extcount = ($users.count)
#go through every team an put teamname and teammembers in custom object
foreach ($extuser in $users){
#group id
$id = $team.groupid
#get displayname from team
$teamext = ((Get-Team | Where-Object {$_.groupid -eq "$id"}).DisplayName).ToString()
#get the external users
$ext = $extuser.User
#create custom object
$externalteams += [pscustomobject]@{
ExtUser = $ext
GroupID = $id
TeamName = $teamext
}
}
}
#check if there are some teams with external users or not
if ($extcount -eq "0"){
Write-host "there are no external user added to any team in your organization" -ForegroundColor yellow
}
else{
#show custom object in powershell
$externalteams | Out-GridView -Title "external members in Teams"
$Header = @"
<style>
TABLE {border-width: 1px; border-style: solid; border-color: black; border-collapse: collapse;}
TD {border-width: 1px; padding: 3px; border-style: solid; border-color: black;}
</style>
"@
$externalteams | ConvertTo-Html -Property ExtUser,TeamName,GroupID -Head $Header | Out-File -FilePath .\msteam-guests.html
Invoke-Expression ".\msteam-guests.html"
}
Die zentrale Abfrage ist „Get-TeamUser -GroupId $team.groupid | Where-Object {$_.Role -eq „Guest“}“ .
Damit das Script funktioniert, muss man mit der Powershell Console zu Teams Online verbinden. (Davor natürlich auch die cmdlets installiert haben). Siehe hierzu meinen Artikel.
Außerdem wird noch ein HTML Report generiert.
Das Script kann nicht nur über ISE sondern auch über die normale Powershellkonsole aufgerufen werden. Es ist mindestens Powershell 3.0 Voraussetzung.
Freue mich über Kommentare und Anregungen.
Wenn das Script hilfreich war, dann drückt auf den Button Helpful.
Viel Spaß damit.




[…] habt ihr meinen alten Artikel vom 11. Mai 2018 LINK gefunden. Seiher verging einige Zeit und Teams hat sich in vielen Bereichen weiterentwickelt. […]