Grundlagen Teams-Management mit der PowerShell: Teams anlegen, Benutzer hinzufügen und löschen
Die Basisfunktionen für das Verwalten von Microsoft Teams sind mit wenigen Klicks erreichbar. Umfangreichere administrative Aufgaben lassen sich hingegen mit der PowerShell ausführen. Wie bei anderen Microsoft 365-Diensten steht auch für Teams ein spezielles PowerShell-Modul mit umfangreichen Funktionen zur Verfügung.
1. Starten Sie zunächst einmal die PowerShell über das Windows-Startmenü im Administrator-Modus:
2. Danach besteht der erste Schritt bei der Arbeit mit der PowerShell typischerweise immer darin, das benötigte PowerShell-Modul zu laden. Für die Microsoft Teams-Verwaltung lautet der erforderliche Befehl:
Install-Module -Name MicrosoftTeams
3. Achtung: Oft taucht schon zu Beginn eine Fehlermeldung auf, mit dem Hinweis „Could not Autoload Matching Modules“. Der Grund dafür liegt in einer Beschränkung der Ausführungsrichtlinie.
Das lässt sich einfach beheben mit folgendem Befehl, auf den Sie mit „A“ Anworten:
Set-ExecutionPolicy Unrestricted
4. Im Falle der Fehlerunterbrechung also nochmal Punkt 2 ausführen. Nun kann sich herausstellen, dass das entsprechende Modul erst installiert werden muss. Dabei erscheint unter Umständen ein Dialog, der die Zustimmung zum NuGet-Provider verlangt, und dass man mit dem Download aus einer unsicheren Quelle einverstanden ist. Als solche gilt die PSGallery nämlich nach wie vor.
Gelegentlich kann dabei folgender Fehler auftreten:
Unable to resolve package source ‚https://powershellgallery.com/api/v2‘. Für die angegebenen Suchkriterien und den Paketnamen MicrosoftTeams wurde keine Übereinstimmung gefunden.
Der Grund dafür liegt meist darin, dass die PowerShell Gallery keine Verbindungen mit TLS 1.0 und 1.1 mehr akzeptiert. Einige Versionen von PowerShell nutzen diese aber noch per Voreinstellung. Das Problem konnte ich durch Setzen von Registry-Schlüsseln mit folgenden Befehlen lösen:
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' ` -Name 'SchUseStrongCrypto' -Value '1' -Type DWord Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' ` -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
In diesem Fall muss man PowerShell einmal neu starten und den Befehl Install-Module nochmals ausführen.
5. Um den Erfolg der Installation zu verifizieren und sich einen Überblick über die verfügbaren Cmdlets zu verschaffen, kann man dieses Kommando absetzen:
Get-Command -Module MicrosoftTeams*
Aktuell enthält die Liste 32 Cmdlets.
Mit Teams verbinden
Wie bei PowerShell für Exchange und anderen Online-Diensten von Microsoft muss man sich mit Teams erst verbinden, bevor man es über Scripts verwalten kann. Dies erreicht man mit dem Befehl
Connect-MicrosoftTeams
Die Anmeldung am Tenant ist sowohl mit als auch ohne Multi-Factor-Authentifizierung (MFA) möglich.
Vorhandene Teams anzeigen
Mit dem Befehl
Get-Team | Format-List
kann man sich einen ersten Überblick über die bereits angelegten Teams verschaffen.
Teams anlegen und ändern
Mit dem Aufruf von New-Team nach dem Muster
New-Team -DisplayName MyTeam -Description "Ein neues Team" -Visibility Public
legt man ein neues Team an.
Wie im Teams-Client auch, kann man dem Cmdlet verschiedene Parameter mitgeben.
Wer die Einstellungen eines Teams nachträglich ändern möchte, kann dies mit
Set-Team
machen. Es unterstützt im Wesentlichen die gleichen Parameter wie New-Team, so dass man damit Eigenschaften eines Teams nachträglich anpassen oder ergänzen kann, wenn man sie beim Anlegen noch nicht konfiguriert hat.
In diesem Beispiel ändere ich einfach den Namen des Teams:
Set-Team -GroupId -DisplayName
Wie man unschwer erkennen kann, spricht man ein bestimmtes Team üben den Parameter GroupId an.
Mitglieder hinzufügen
Mitglieder lassen sich bereits beim Anlegen eines Teams mit New-Team hinzufügen oder nachträglich mit Add-TeamUser. Umgekehrt kann man sie mit Remove-TeamUser wieder entfernen.
Get-TeamUser zeigt anschließend alle User eines Teams an, wobei man Letzteres wieder über die GroupId spezifiziert.
Teams löschen
Wird es Team nicht mehr gebraucht und sollte daher gelöscht werden, dann erfüllt
Remove-Team
diesen Zweck.
Dieser Befehl bietet sich für Automatisierungen an, um zum Beispiel Teams zu entfernen, die keinen Besitzer oder keine Mitglieder mehr haben.
Kann ich denn auch die Azure Cloud Powershell nutzen? Die Verbindung Connect-MicrosoftTeam scheint da nicht unterstützt zu sein. Gibt es andere Wege?
Welche anderen Wege gibts sonst via MacOS?