Microsoft Teams finden, die Gäste hinzugefügt haben nutzerbasiert

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.

Print Friendly, PDF & Email
Was this article helpful?
YesNo
0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
guest
1 Kommentar
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
trackback
2 Jahre zuvor

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