Tags: Microsoft 365, Collaboration, PowerShell, Microsoft Teams
Zwar sind Endbenutzer in der Lage, Microsoft Teams überwiegend selbst verwalten, dennoch kommen der IT oft noch administrative und unterstützende Aufgaben zu. Wie für alle anderen Dienste von Microsoft 365 gibt es auch dafür ein eigenes PowerShell-Modul, mit dem Admins viele Tätigkeiten automatisieren können.
Der erste Schritt besteht wie bei allen externen Diensten und Anwendungen darin, das entsprechende PowerShell-Modul zu laden. Für Teams lautet der erforderliche Befehl dafür:
Install-Module -Name MicrosoftTeams
Für die Installation des Moduls muss man unter Umständen dem Update des NuGet-Providers zustimmen und bestätigen, 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.
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 <GruppenID> -DisplayName <Neuer-Name>
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.
Täglich Know-how für IT-Pros mit unserem Newsletter
Roland Eich ist gelernter Fachinformatiker für Systemintegration und in der IT seit über 14 Jahren zu Hause. Roland deckt aufgrund seiner Erfahrungen ein breites Spektrum der Microsoft-Produktpalette ab.Zudem besitzt er verschiedene Zertifizierungen (MCITP, MCSA und MCSE, ITIL, PRINCE2).
// Kontakt: E-Mail //
Verwandte Beiträge
- Statt Mail-Alerts: Systemnachrichten über Webhooks an Microsoft Teams senden
- Was ist Microsoft Loop und welche Funktionen bietet es?
- Microsoft Teams: Termineinladungen in mehreren Sprachen versenden
- Lizenzen für Microsoft 365 mittels PowerShell zuweisen
- Veeam Backup for Office 365 v5: Support für Microsoft Teams
Weitere Links