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. […]