Teams aufräumen: Mit PowerShell-Skript das wilde Erstellen von Teams unterbinden
Im Arbeitsalltag mit Microsoft Teams entsteht oft ein Durcheinander an zu vielen Teams, Kanälen und Chats. Zwar können Sie für mehr Kontrolle eines der vielen Zusatztools einsetzen, aber oft reichen auch Bordmittel aus, um mehr Ordnung zu schaffen. Mittels eines PowerShell-Skripts etwa blockieren Sie mit wenig Aufwand das ungezügelte Anlegen von Teams und Gruppen.
Vorab sei zunächst einmal schematisch die Funktionsweise dieses Tipps erklärt: Zuerst legen wir im Admin-Center eine neue Gruppe für Sonderberechtigte an, die exklusiv Teams und Microsoft 365-Gruppen erstellen dürfen. Das können zum Beispiel Team-, Projekt- oder Abteilungsleiter sein. Die Umsetzung erledigt dann ein PowerShell-Skript, das das Erstellen von Teams auf diese definierte Gruppe beschränkt.
Wichtig ist noch der Hinweis, dass sich diese Beschränkung generell auf das Erstellen von Microsoft 365-Gruppen auswirkt, und damit auch andere Services beeinflussen kann. Damit kann das auch Apps wie Outlook, SharePoint, Yammer, Stream, Planner, Power BI und Project Web betreffen, sofern, dort Gruppenfunktionen verwendet werden. Allerdings spielen diese Einschränkungen im Arbeitsalltag der meisten Nutzer keine merkliche Rolle.
I. Gruppe anlegen für die berechtigten Team-Ersteller
Hier erstellen Sie im Admin-Center zunächst eine Gruppe für all jene Benutzer, die später unabhängig von den vorgenommenen Beschränkungen Teams und Gruppen anlegen können.
1. Gehen Sie im Admin-Center auf die Seite Aktive Teams und Gruppen und dort auf Gruppe hinzufügen.
2. Wählen sie die gewünschte Gruppe aus, zum Beispiel Microsoft 365, klicken Sie auf weiter und vergeben Sie hier den Namen GruppenErsteller. Der Name ist später für das Skript wichtig.
3. Klicken Sie noch ins Beschreibungsfeld, erst dann funktioniert Weiter. Wählen Sie nun einen oder mehrere Gruppenbesitzer aus und fügen Sie im darauffolgenden Dialog noch Mitglieder hinzu. Der hier eingetragene Anwenderkreis ist bei später aktivierter Sperre in der Lage, Teams und Gruppen zu erstellen.
4. Im letzten Dialog legen Sie noch die E-Mail-Adresse für diese Microsoft 365-Gruppe fest.
II. PowerShell vorbereiten und Skript ausführen
Mit diesem PowerShell-Skript aktivieren Sie die Einstellung, die das Erstellen von Teams für die normalen Benutzer deaktiviert. Mit einer einfachen Änderung im Skript von False auf True lässt sich die Einstellung übrigens bei Bedarf wieder rückgängig machen.
1. Rufen Sie zuerst über das Windows-Startmenü die PowerShell im Administrator-Modus auf. Manchmal liefert schon der erste eingegebene Befehl eine Fehlermeldung. Einige hilfreiche Tipps zur Vorbereitung der PowerShell finden Sie in unserer Einführung für PowerShell mit Teams. Meist hilft oft schon der folgende Befehl, um die Ausführungsrichtlinie freizugeben:
Set-ExecutionPolicy Unrestricted
2. Unter Umständen sind zur Vorbereitung die folgende beiden Installationsbefehle für das AzureAD-PowerShell-Modul erforderlich:
Uninstall-Module AzureAD
Install-Module AzureADPreview
Nach diesen Vorbereitungen komplettiert folgende Eingabe die Installation:
Update-Module AzureADPreview
3. Nun erstellen Sie das eigentliche Skript, das Sie entweder über die PowerShell aufrufen, oder als ausführbare Datei im Explorer starten können. Legen Sie dazu eine Textdatei an, die Sie unter dem Namen GruppenErsteller.ps1 abspeichern.
Wichtig ist dabei, dass Sie den Platzhalter <GroupName> ersetzen mit dem Namen der Gruppe, den Sie oben vergeben haben, also in unserem Fall mit der Zeile
$GroupName = "GruppenErsteller".
4. So sieht das Skript GruppenErsteller.ps1 aus. Markieren und kopieren Sie es in die Textdatei. Wichtig ist auch der Operator in Zeile 2. False heißt, dass nur den Mitliedern der eingerichteten Gruppe das Erstellen erlaubt ist. Wenn Sie stattdessen true eintragen, dann können wieder alle Benutzern wie üblich das Erstellen von Teams ausführen.
$GroupName = "<GroupName>"
$AllowGroupCreation = $False
Connect-AzureAD
$settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
if(!$settingsObjectID)
{
$template = Get-AzureADDirectorySettingTemplate | Where-object {$_.displayname -eq "group.unified"}
$settingsCopy = $template.CreateDirectorySetting()
New-AzureADDirectorySetting -DirectorySetting $settingsCopy
$settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
}
$settingsCopy = Get-AzureADDirectorySetting -Id $settingsObjectID
$settingsCopy["EnableGroupCreation"] = $AllowGroupCreation
if($GroupName)
{
$settingsCopy["GroupCreationAllowedGroupId"] = (Get-AzureADGroup -SearchString $GroupName).objectid
} else {
$settingsCopy["GroupCreationAllowedGroupId"] = $GroupName
}
Set-AzureADDirectorySetting -Id $settingsObjectID -DirectorySetting $settingsCopy
(Get-AzureADDirectorySetting -Id $settingsObjectID).Values
So sieht die Klickabfolge aus, wenn Sie die Skriptdatei über das Kontextmenü des Explorers ausführen. Das Anmeldefenster zur Authentifizierung am Microsoft 365-Tenant ist auch bei der Kommandozeilenausführung obligatorisch.
Nach dem korrekten Durchlaufen des Skripts in der Konsole bekommen Sie als Ergebnis die neue Einstellung angezeigt. In unserem Fall lautet diese:
EnableGroupCreation: False
Das bedeutet, dass das Erstellen von Teams und Gruppen für normale Benutzer nicht möglich ist.
III. Überprüfen des Ergebnisses
Wenn Sie alles richtig konfiguriert haben und das Skript korrekt durchgelaufen ist, können Sie im Teams-Client das Ergebnis überprüfen. Dabei ist zu beachten, dass bis zu einer halben Stunde Zeit vergehen kann.
Das Ergebnis sieht dann so aus: Während der privilegierte Gruppenbesitzer (links) wie üblich Teams erstellen kann, fehlt beim normalen Benutzer „GD“ (rechts) diese Funktion. Er kann nur auf die Teams zugreifen, die von den berechtigten Benutzern angelegt werden.
Weitere Informationen:
Bei Microsoft gibt es eine ausführliche Anleitung zum Einschränken der Erstellung von Teams und Gruppen.
- Governance-Spezialist Rencore gewinnt neue Investoren für den Wachstumskurs - 26. September 2023
- Studie ermittelt Erfolgsfaktoren für SharePoint-Intranets - 21. September 2023
- Teams-Aufzeichnungen per API aufrufen und transkribieren ist jetzt kostenpflichtig - 13. September 2023