Assigning Teams policies to users one at a time is perfectly workable when your organisation numbers thirty people. At three hundred, it becomes a steady stream of support tickets. At three thousand, it just can't be kept up. Group policy assignment was the vendor's answer to this problem, and it's genuinely helpful โ though the model carries a few subtleties that only reveal themselves once you hit them in production.
This piece explains how group policy assignment operates in Teams, how to lay out your policies for different groups of users, and how to deal with the edge cases that make it tricky.
Direct Assignment vs Group Assignment: The Essential Distinction
Within the Teams Admin Center, every policy type โ meeting policies, messaging policies, app permission policies, and the rest โ can reach users by two routes: directly or through a group.
Direct assignment means opening a particular user's profile in the Admin Center and explicitly handing them a policy. It's easy to follow, but it doesn't scale. Changing the meeting policy for your whole sales team means updating records one at a time unless you turn to PowerShell.
Group assignment means attaching a policy to an the directory service (the identity service) group. Everyone who belongs to that group picks up the policy. As group membership shifts โ someone joins the sales team, someone departs โ their policy assignment adjusts on its own, typically within a few hours.
For most organisations this is the correct model. The crucial point is that group policy assignment in Teams runs through the identity service security groups and cloud groups, not through Teams themselves. You handle policy membership by way of HR/IT group membership, which keeps the responsibilities properly separated.
How Rank Behaves When Users Belong to Several Groups
This is where things get interesting. A single user can sit in several groups, and each of those groups may carry a different policy. When that occurs, Teams needs a way to break the tie. That mechanism is known as rank.
When you attach a policy to a group through group policy assignment, you set a rank (a positive integer, with 1 being the highest priority). Should a user belong to two groups whose assignments clash for the same policy type, the group with the smaller rank number prevails.
In reality, most organisations don't have heavily overlapping group assignments, so rank seldom causes confusion. Still, it's worth grasping before you lay out your group structure. If you run a "Restricted Users" group with a locked-down meeting policy and a "Project Team" group with an elevated one, you'll want to think hard about which policy should win for users who sit in both.
Rank precedence order (highest to lowest)
Direct user assignment > Group assignment (among groups, the lowest rank number wins) > Global policy (org-wide default). A direct assignment always trumps a group assignment, whatever the rank.
Configuring Group Policy Assignment in the Teams Admin Center
To hand a policy to a group, go to the relevant policy type (for instance, Meetings > Meeting policies), then open the "Group policy assignment" tab. From there, click "Add," pick the group you want to target, choose the policy, and set the rank.
You can also do this from the Users section: Users > Group policy assignment presents every current group policy assignment across all policy types in a single view. That's the better vantage point when you're auditing what's already been configured.
One important warning: group policy assignment doesn't propagate instantly. Once you make a change, it may be several hours before every affected user sees the new policy in their Teams client. Don't test by checking the policy five minutes after assigning it. Give it at least a few hours, and use the per-user policy view (Users > [user] > Policies tab) to confirm the effective policy for a given person.
Planning Your Policy Groups: A Pragmatic Method
Most organisations land on somewhere between three and eight distinct Teams policy configurations. The precise split depends on the business, but here's a structure that holds up well in practice:
Tier 1 โ Standard users. This is the Global policy. The majority of employees receive the default setup. No explicit group assignment is required; they simply inherit the Global policy. The trick is to configure the Global policy deliberately โ don't leave it at the vendor defaults and assume they're right for your organisation.
Tier 2 โ Restricted users. Frontline workers, contractors, or staff in regulated roles who need narrower capabilities. A typical restricted meeting policy might turn off meeting recording and transcription. A restricted messaging policy might switch off GIFs and external chat.
Tier 3 โ Elevated users. IT staff, executives, or power users who require more than the standard allows. An elevated meeting policy might switch on recording, bypass the lobby for everyone, and permit external presenters. An elevated messaging policy might enable read receipts reporting or priority notifications.
Tier 4 โ Special-purpose users. Compliance officers, legal hold administrators, or users who need particular capabilities for regulatory reasons. These are frequently the hardest to design, since the requirements originate outside IT.
Line these tiers up with the identity service security groups that your HR or IT provisioning process already looks after. If you have an "All Employees" group, that's an obvious fit for the standard policy assignment. If you keep department-specific groups (Sales, Finance, Engineering), you can lean on those for department-level tailoring.
Leaning on Policy Packages to Simplify Assignment
Policy packages are bundles of related policies โ meeting policy, messaging policy, app setup policy, and so on โ pre-configured with settings geared to a particular kind of user. The vendor supplies several ready-made packages (Frontline Worker, Education, Healthcare), and you can build your own.
The upside of policy packages over individual policy assignments is simplicity: you assign a single thing (a package) rather than many separate policies. The downside is that packages are a little less flexible โ if you want one policy inside a package to differ from the others, you'll either have to override it with a direct assignment or create a fresh package.
For organisations with a well-defined set of user groups that differ from one another in consistent ways, policy packages are worth adopting. For organisations juggling complex, overlapping policy requirements, managing individual policies with group assignment usually affords more control.
Turning to PowerShell for Bulk Work
The Teams Admin Center suits ad hoc management and configuration, but PowerShell is the better choice for bulk operations and automation. The Teams module offers cmdlets for everything the Admin Center can do, along with a few things it can't.
A handful of commands worth knowing:
# Get a user's current policy assignments
Get-CsUserPolicyAssignment -Identity [email protected]
# Assign a meeting policy to a group
New-CsGroupPolicyAssignment -GroupId <group-object-id> -PolicyType TeamsMeetingPolicy -PolicyName "Restricted-Meeting" -Rank 2
# View all group policy assignments for a policy type
Get-CsGroupPolicyAssignment -PolicyType TeamsMeetingPolicy
# Remove a group policy assignment
Remove-CsGroupPolicyAssignment -GroupId <group-object-id> -PolicyType TeamsMeetingPolicy
Making a habit of using PowerShell to audit your policy assignments ahead of a migration or configuration change pays off. Exporting a complete set of user-to-policy mappings as a baseline before you change anything gives you a rollback reference should something go sideways.
Frequent Pitfalls
Overlooking nested groups. Group policy assignment in Teams applies to direct group members, not to members of nested sub-groups. If your "All Sales" group holds "Sales APAC" and "Sales EMEA" as sub-groups, users within those sub-groups won't inherit a policy assigned to "All Sales." You'll need to assign the policy to each group separately, or reshape your groups to use flat membership.
Old direct assignments overriding group assignments. If someone once assigned a policy directly to individual users โ perhaps before group assignment was adopted โ those direct assignments will take precedence over group assignments. Run a periodic audit to track down users with direct policy assignments and swap them for group-based assignments where it makes sense.
Skipping tests of the rank logic. Before you deploy a complex group assignment setup, trial it with a small pilot group. Place a test user in two groups with conflicting rank settings and confirm the policy assignment behaves the way you expect. Rank problems are subtle and can be awkward to debug later on.
A Word on Policy Propagation Timing
Policy changes in Teams are asynchronous. After you assign or alter a policy, propagation to all affected users' clients can take anywhere from a few minutes to a few hours. In practice, most changes show up within 30โ60 minutes, though large group assignments can run longer. Don't conclude a change has failed simply because it isn't visible straight away.
When you need to confirm that a policy assignment has taken hold for a particular user, the most dependable check is the per-user policy view in the Admin Center rather than the Teams client itself. The Admin Center mirrors the backend state; the Teams client may still be cached.