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 Helpful ?
  • yes   no