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.
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.
Content
Erstellung von Org-wide Team in Entra ID
- 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.
- Als dynamische Query wähle ich alle aktiven, internen Konten mit einem Teams Serviceplan, und exkludiere verschiedene Kontotypen.
- Nach Erstellung der Entra ID Gruppe kannst du über Teams ein neues Team erstellen und wählst aus einer bestehenden Gruppe.
- Die neu erstellte dynamische Gruppe ist meist an letzter Stelle gelistet. Hier kannst du der Microsoft 365 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.
Erstellung von Org-wide Team mit PowerShell
Die benötigst für die Erstellung mit PowerShell das Modul Microsoft.Graph.Authentication.
- Mit der Graph API erstelle ich eine neue dynamische Microsoft 365 Gruppe.
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
- Nach Erstellung passe ich offene Properties der neuen Gruppe an.
$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"
- Ergänzung von Besitzer in der neuen Gruppe.
$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"
- 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.
$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"
- Abschliessend noch kosmetische Anpassung, ein Bild für das Team.
$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.