Das Teams-Chaos Problem
Ohne Governance entstehen in M365 schnell:
- 200+ Teams ohne klare Besitzer
- Doppelte Teams für dasselbe Projekt
- Veraltete Teams die niemand bereinigt
- Gäste mit dauerhaftem Zugriff
Teams-Erstellung einschränken
Connect-MicrosoftTeams
# Nur bestimmte Gruppe darf Teams erstellen
# 1. Sicherheitsgruppe erstellen: "Teams-Ersteller"
# 2. In Azure AD: Gruppen → Neue Gruppe → Teams-Ersteller
# Script: Teams-Erstellung auf Gruppe beschränken
$GroupName = "Teams-Ersteller"
$settingsObjectID = (Get-AzureADDirectorySetting | Where-Object -Property Displayname -Value "Group.Unified" -EQ).id
if(!$settingsObjectID){
$template = Get-AzureADDirectorySettingTemplate | Where-Object {
$_.DisplayName -eq "Group.Unified"
}
$settings = $template.CreateDirectorySetting()
New-AzureADDirectorySetting -DirectorySetting $settings
$settingsObjectID = (Get-AzureADDirectorySetting | Where-Object -Property Displayname -Value "Group.Unified" -EQ).id
}
$setting = Get-AzureADDirectorySetting -Id $settingsObjectID
$setting["EnableGroupCreation"] = "False"
$setting["GroupCreationAllowedGroupId"] = (Get-AzureADGroup -SearchString $GroupName).ObjectId
Set-AzureADDirectorySetting -Id $settingsObjectID -DirectorySetting $setting
Gast-Zugriff konfigurieren
Teams Admin Center → Org-wide settings → Guest access:
Empfohlene Einstellungen für KMU:
- Allow guest access: On
- Make private calls: Off
- Allow guests to use Meet Now: Off
- Allow guests to edit/delete sent messages: Off
- Allow guests to delete sent messages: Off
# Gast-Einladungen auf bestimmte Domains beschränken
Set-AzureADPolicy -Id <POLICY_ID> `
-Definition @('{"B2BManagementPolicy":{"InvitationsAllowedAndBlockedDomainsPolicy":{"AllowedDomains":["partner.de","kunde.de"]}}}')
Meeting-Policies
# Policy für normale Mitarbeiter
New-CsTeamsMeetingPolicy -Identity "Standard-Policy" `
-AllowMeetNow $true `
-AllowPrivateMeetingScheduling $true `
-AllowChannelMeetingScheduling $true `
-AllowCloudRecording $true `
-AllowTranscription $true `
-AutomaticallyStartCopilot Enabled
# Restriktivere Policy für Gäste
New-CsTeamsMeetingPolicy -Identity "Gast-Policy" `
-AllowCloudRecording $false `
-AllowTranscription $false `
-AutomaticallyStartCopilot Disabled
# Policy zuweisen
Grant-CsTeamsMeetingPolicy -Identity [email protected] -PolicyName "Gast-Policy"
Teams Lifecycle Management
# Inaktive Teams finden (kein Aktivität in 90 Tagen)
Get-Team | ForEach-Object {
$team = $_
$activity = Get-TeamChannelMessage -GroupId $_.GroupId -Limit 1 -ErrorAction SilentlyContinue
if (-not $activity -or $activity.CreatedDateTime -lt (Get-Date).AddDays(-90)) {
[PSCustomObject]@{
Name = $team.DisplayName
Members = (Get-TeamUser -GroupId $team.GroupId).Count
}
}
} | Export-Csv -Path "inactive-teams.csv"
Expiration Policy
Azure AD → Groups → Expiration:
- Alle Microsoft 365 Gruppen: 180 Tage
- Besitzer erhalten Verlängerungs-E-Mail
- Keine Verlängerung = automatisches Löschen (weich)
FAQ
Wie verhindere ich dass Benutzer beliebig Gäste einladen?
In Entra ID: Guest invite settings → Only admins and users in guest inviter role can invite.
Fazit
Teams-Governance spart langfristig erheblichen Verwaltungsaufwand. Einmal aufgesetzt läuft der Lifecycle-Prozess automatisch.
Microsoft Teams Administration für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.