Gastbenutzer und private Teams-Kanäle mit PowerShell aufspüren und als CSV exportieren
Um Teams in Organisationen sicher zu betreiben, sollten Sie sich auch regelmäßig einen Überblick darüber verschaffen, welche Teams, Kanäle und Benutzer registriert sind. Die PowerShell für Teams bietet dafür mächtige Kontroll- und Verwaltungsfunktionen, um etwa private Kanäle und Teams-Gastbenutzer anzuzeigen. Mit einem vorgefertigten Skript können Sie sogar Excel-Berichte mit Details wie privaten Kanälen und Gastbenutzern exportieren.
1. PowerShell für Teams vorbereiten
Starten Sie die PowerShell zunächst über das Windows-Startmenü als Administrator, über folgende Schaltfläche:
Nach dem Start der PowerShell müssen Sie ein paar vorbereitende Befehle eingeben, um die Verbindung mit der Teams-Serverinstanz sowie dem Teams-Skriptmodul herzustellen. Meist genügen folgende drei Befehle, nacheinander eingegeben:
Install-Module -Name MicrosoftTeams Import-Module –Name MicrosoftTeams Connect-MicrosoftTeams
Manchmal kommt es dabei zu Fehlermeldungen. In dieser Anleitung finden Sie eine umfangreichere Einleitung mit entsprechenden Lösungen.
2. PowerShell-Befehle zum Verwalten von Teams
Die PowerShell-Module für Teams bieten umfangreiche Befehle zur Steuerung und Verwaltung der Collaboration-Umgebung. Dabei stehen für jeden Aufgabenbereich spezifische Cmdlets (PowerShell-Befehle) zur Verfügung. Vor dem Start der PowerShell müssen folgende Vorbereitungen getroffen werden:
I. Alle Teams und Gruppen anzeigen
Wenn Sie das Cmdlet GetTeam eingeben, erhalten Sie eine Liste aller Teams in Ihrer Organisation:
II. Alle Kanäle in Teams anzeigen
Um bestimmte Kanäle in den Teams angezeigt zu bekommen, verwenden Sie das Get-TeamChannel Cmdlet. Dieses erfordert immer einen Parameter, in unserem Fall verwenden wir die GroupID, welche ein Team spezifiziert.
Das Team, das in folgenden Beispiel angezeigt wird, enthält vier Kanäle, zwei davon sind privat, einer geteilt.
Get-TeamChannel -groupid <TeamGroupID>.
III. Private Kanäle in ausgewählten Teams anzeigen
Wenn Sie nur die privaten Kanäle in ausgewählten Teams dargestellt bekommen möchten, verwenden Sie das Cmdlet Get-TeamAllChannel mit den Parametern Private und GroupID:
Get-TeamAllChannel -GroupId <Gruppen-ID> -MembershipType Private
IV. Gesamtüberblick über alle Teams und Kanäle
Möchten Sie aller Teams in Ihrem Mandaten inklusive der darin enthaltenen Kanäle in übersichtlicher Listenform angezeigt bekommen, dann verwenden Sie folgenden zweizeiligen Schleifenbefehl:
$AllTeams = Get-Team
Foreach ($team in $AllTeams) {Get-TeamChannel -groupid $team.groupid |Ft $team.DisplayName, DisplayName}
3. PowerShell-Skript: Liste aller Gastbenutzer als CSV-Liste
Mit der PowerShell lassen sich auch umfangreichere Berichte erzeugen, die alle relevanten Daten aus Teams, den Kanälen und über die Benutzer enthalten. Einfache Cmdlets wie in den obigen Beispielen reichen dafür allerdings nicht mehr aus, hier werden aufwändigere PowerShell-Skripte benötigt.
Auf Github ist ein umfangreiches Skript für diese Aufgabe zu finden, das Sie kostenloser unter dem Namen TeamsChannelMemberReport.ps1 herunterladen können.
So bringen Sie dieses Skript für Teams-Kanalmitgliedschaftsberichte zum Laufen:
- Laden Sie das Skript über die Schaltfläche „Download ZIP“ als Archiv herunter und speichern Sie es lokal, zum Beispiel im Ordner C:\Temp\PowerShell.
- Wechseln Sie in der PowerShell mit dem Prompt in den Ordner C:\Temp\PowerShell und rufen Sie darin das Skript mit dem Befehl auf – siehe Screenshot.
- Das Skript bietet für die Ausgabe vier Wahlmöglichkeiten, zum Beispiel die 2 für eine CSV-Datei. Für diese müssen Sie Dateinamen und Pfad angeben.
- Nach dem Durchlaufen des Skripts und dem Speichern der CSV-Datei können Sie diese in Excel über Daten, Aus Text/CSV importieren in eine normale Tabelle umwandeln.
Und so sieht ein Bericht aus, der mit diesem Skript erstellt wurde. Er enthält alle relevanten Informationen rund um Teams, Kanäle, Kanalarten, Benutzerrollen und dergleichen.
Weitere Tipps zur Teams-Verwaltung mit PowerShell:
• Einführung Teams-Verwaltung mit PowerShell: Teams anzeigen, Benutzer anlegen, Teams löschen
• SharePoint Online und Teams mit PowerShell verwalten – eine Einführung
• Gegen Teams-Wildwuchs: Mit PowerShell-Skript erstellungsberechtigte Nutzer festlegen
• Alle Teams anzeigen, in denen ein User Mitglied ist – via Admin Center oder PowerShell
• Microsoft Teams Richtlinien verwalten mit Admin-Center oder PowerShell