Microsoft Teams über PowerShell verwalten: Teams anlegen, ändern löschen und Benutzer hinzufügen

    Microsoft Teams PowerShellZwar können End­benutzer Microsoft Teams über­wiegend selbst ver­walten, dennoch kom­men der IT oft noch admini­strative und unter­stü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 Aufgaben automa­tisieren können.

    Der erste Schritt besteht wie bei allen externen Diensten und Anwendungen darin, das ent­sprechende 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.

    Installation des PowerShell-Moduls für Microsoft Teams von der PSGallery

    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.

    Fehler bei der Installation des PowerShell-Moduls für Teams

    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*

    Liste der im PowerShell-Modul für Teams enthaltenen Cmdlets

    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

    Über das Cmdlet Connect-MicrosoftTeams mit Teams verbinden

    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.

    Vorhandene Teams mit PowerShell anzeigen

    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.

    Neues Team mittels PowerShell erstellen

    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>

    Team über Set-Team umbenennen

    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.

    Mitglieder nachträglich zu einem Team hinzufügen

    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.

    Team über PowerShell löschen

    Dieser Befehl bietet sich für Automatisierungen an, um zum Beispiel Teams zu entfernen, die keinen Besitzer oder keine Mitglieder mehr haben.

    Keine Kommentare