Neues Org-wide Team mit dynamischer Entra ID Gruppe erstellen

Seit Februar 2020 können Organisationen Org-wide Teams erstellen.
Heute ist die Erstellung von Org-wide Teams auf Organisationen mit bis zu 10.000 Konten beschränkt. Konten mit der Rolle Global Administrator können in diesen Organisationen bis zu 5 Org-wide Teams erstellen. Bei der Erstellung von einem neuen Team wird im Abschnitt für Privacy die Option für Org-wide Team angeboten.

Org-wide Team erstellen
Org-wide Team erstellen

Standardmässig sind in diesem Team alle Konten der Organisation inkludiert (Konten ohne Teams Lizenz inklusive), mit ein paar Ausnahmen.

The following types of accounts won’t be added to your organization-wide team:

  • Accounts that are blocked from sign-in
  • Guests
  • Resource or service accounts (for example, accounts associated with auto attendants and call queues)
  • Room or equipment accounts
  • Accounts backed by a shared mailbox

Alle Konten mit der Rolle Global Administrator oder Teams Administrator sind Besitzer von dem Team. Besitzer können anderen Besitzer die Rolle reduzieren oder Mitglieder die Rolle zuweisen, aber keine Mitglieder aus dem Team entfernen oder manuell hinzufügen.

Für Organisationen mit mehr als 10.000 Konten fehlt die Option zur Erstellung von Org-wide Teams.
Solche Organisationen können Org-wide Teams über eine dynamische Entra ID Gruppe nutzen. Es muss sich um eine Microsoft 365 Gruppe handeln.

Microsoft Teams supports teams associated with Microsoft 365 groups by using dynamic membership. Dynamic membership enables the membership of a team to be defined by one or more rules that check for certain user attributes in Microsoft Entra ID. Users are automatically added or removed to the correct teams as user attributes change or users join and leave the tenant.

Microsoft Teams might take anywhere from a few minutes to up to 2 hours to reflect dynamic membership changes once they take effect in the Microsoft 365 group for a team.

Praktisch gesehen müssen/können Organisationen mit mehr als 10.000 Konten die Regel für eine dynamische Entra ID Gruppe selbst definieren. Bei einem Org-wide Team übernimmt es Microsoft.

  • Ein Team unterstützt mit Einschränkungen bis zu 25.000 Mitglieder, siehe Teams Limits.
  • Entra ID unterstützt bis zu 15.000 “dynamic groups and dynamic administrative units combined”, siehe Entra ID Limits.

Erstellung von Org-wide Team in Entra ID
  1. Erstelle in Entra ID eine neue dynamische Gruppe. Wähle als Gruppentyp Microsoft 365. Die Besitzer für die Gruppe kannst du frei definieren. Sie sind später Besitzer des Teams.
Neue Microsoft 365 Gruppe erstellen
Neue Microsoft 365 Gruppe erstellen
  1. Als dynamische Query wähle ich alle aktiven, internen Konten mit einem Teams Serviceplan, und exkludiere verschiedene Kontotypen.
Dynamic Query für die Microsoft 365 Gruppe
  1. Nach Erstellung der Entra ID Gruppe kannst du über Teams ein neues Team erstellen und wählst aus einer bestehenden Gruppe.
Screenshot
  1. Die neu erstellte dynamische Gruppe ist meist an letzter Stelle gelistet. Hier kannst du der Microsoft 365 Gruppe ein Team hinzufügen.
Dynamischer Gruppe ein Team hinzufügen
Dynamischer Gruppe ein Team hinzufügen

Das Team wird für die Gruppe erstellt und in Teams mit Besitzern und Mitgliedern erfasst.
Mitglieder kannst du in dem Team nicht manuell hinzufügen oder entfernen, weiters sind Optionen für die Mitgliederverwaltung nicht verfügbar. Die dynamische Gruppe führt die Änderungen selbstständig durch.

Teams clients don’t allow member management for the team. Options to add members, edit member roles, send and approve join requests, and leave the team are all hidden.

Weitere Einstellungen des Teams kannst du wie gewohnt ändern.

Neues dynamisches Team mit Konten der Organisation
Neues dynamisches Team mit Konten der Organisation

Erstellung von Org-wide Team mit PowerShell

Die benötigst für die Erstellung mit PowerShell das Modul Microsoft.Graph.Authentication.

  1. Mit der Graph API erstelle ich eine neue dynamische Microsoft 365 Gruppe.
PowerShell
Import-Module Microsoft.Graph.Authentication
Connect-MgGraph -Scopes "Group.ReadWrite.All"

# Define the membership rule for a dynamic group
$MembershipRule = '(user.accountEnabled -eq true) and (user.userType -eq "Member") and (user.assignedPlans -any (assignedPlan.servicePlanId -eq "57ff2da0-773e-42df-b2af-ffb7a2317929" -and assignedPlan.capabilityStatus -eq "Enabled")) and (user.userPrincipalName -notStartsWith "svc-") and (user.userPrincipalName -notStartsWith "test")'

# Define the group properties
$GroupProperties = @{
    displayName = "TAM365 Corporate Team 2"
    description = "All internal, enabled users from our organization with a Teams license"
    mailEnabled = $false
    mailNickname = "TAM365CorporateTeam2"
    securityEnabled = $true
    groupTypes = @("DynamicMembership","Unified")
    membershipRule = $MembershipRule
    membershipRuleProcessingState = "On"
}

$Url = "https://graph.microsoft.com/v1.0/groups"
$NewGroup = Invoke-MgRestMethod -Method POST -Uri $Url -Body ($GroupProperties | ConvertTo-Json) -Content "application/json" 
$GroupID = $NewGroup.id

  1. Nach Erstellung passe ich offene Properties der neuen Gruppe an.
PowerShell
$UpdatedGroupProperties = @{    
    allowExternalSenders = $false    # Determines whether external senders are allowed to send emails to the group.
    hideFromAddressLists = $true     # Specifies whether the group is hidden from address lists.
    hideFromOutlookClients = $true   # Indicates whether the group is hidden from Outlook clients.
    isSubscribedByMail = $false      # Determines whether members are subscribed to receive email notifications.
    autoSubscribeNewMembers = $false # Specifies whether new members are automatically subscribed to receive email notifications. 
}

$Url = "https://graph.microsoft.com/v1.0/groups/$GroupID"
$Result = Invoke-MgRestMethod -Method PATCH -Uri $Url -Body ($UpdatedGroupProperties | ConvertTo-Json) -Content "application/json" 

  1. Ergänzung von Besitzer in der neuen Gruppe.
PowerShell
$GroupOwners = @{ 
    "@odata.id" = "https://graph.microsoft.com/v1.0/users/[email protected]"     
}

$Url = "https://graph.microsoft.com/v1.0/groups/$GroupID/owners/`$ref"
$Result = Invoke-MgRestMethod -Method POST -Uri $Url -Body ($GroupOwners | ConvertTo-Json) -Content "application/json" 

  1. Mit der Graph API ergänze ich die Microsoft 365 Gruppe mit einem Team.
    Die API unterstützt bisher nicht alle möglichen Einstellungen von einem Team. Besitzer sollten die Einstellungen des Teams nachträglich kontrollieren.
PowerShell
$TeamProperties = @{
    visibility = "public"
    memberSettings = @{
        allowCreateUpdateChannels = $false
        allowDeleteChannels = $false
        allowAddRemoveApps = $false
        allowCreateUpdateRemoveTabs = $false
        allowCreateUpdateRemoveConnectors = $false
        allowCreatePrivateChannels = $false
    }
    messagingSettings = @{
        allowUserEditMessages = $true
        allowUserDeleteMessages = $true
        allowOwnerDeleteMessages = $true
        allowTeamMentions = $false
        allowChannelMentions = $false        
    }
    funSettings = @{
        allowGiphy = $true
        giphyContentRating = "strict"
        allowStickersAndMemes = $true
        allowCustomMemes = $false
        
    }
    guestSettings = @{
        allowCreateUpdateChannels = $false
        allowDeleteChannels = $false
    }    
}

$Url = "https://graph.microsoft.com/v1.0/groups/$GroupID/team"
$TeamResult = Invoke-MgRestMethod -Method PUT -Uri $Url -Body ($TeamProperties | ConvertTo-Json) -Content "application/json"

  1. Abschliessend noch kosmetische Anpassung, ein Bild für das Team.
PowerShell
$PicturePath = "<PathtoPicture\Picture.png>"
$PictureBytes = [System.IO.File]::ReadAllBytes($PicturePath)

$Url = "https://graph.microsoft.com/v1.0/teams/$GroupID/photo/`$value"
Invoke-MgRestMethod -Method PUT -Uri $Url -Body $PictureBytes -ContentType "image/png"


Das neue dynamische Team wurde erstellt.
Nach meinen Beispielen sind in Teams nun zwei Corporate Teams verfügbar. Team 1 wurde mit Entra ID erstellt, Team 2 mit PowerShell.

Neues dynamisches Team mit Konten der Organisation
Neues dynamisches Team mit Konten der Organisation
Share
Avatar-Foto

Tobias Asböck

Tobias ist ein Senior System Engineer mit rund 10 Jahren Berufserfahrung für Microsoft 365 Produkte wie SharePoint Online, OneDrive for Business, Teams Collaboration, Entra ID, Information Protection, Universal Print und Microsoft 365 Lizenzierung. Aus der Vergangenheit kennt er über einen Zeitraum von 15+ Jahren die Planung, Administration und den Betrieb von SharePoint Server Umgebungen. Tobias ist ein PowerShell Scripter mit Zertifizierungen für Microsoft 365 Produkte. In seiner Freizeit beschäftigt sich Tobias mit Aktualisierungen in der M365-Welt, ist mit seinem Rennvelo unterwegs und anderen sportlichen Aktivitäten beschäftigt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert