You ran a bulk policy assignment in the Teams admin center, but some users still show the old policy or no policy at all. This usually happens because the bulk operation skips users who are already assigned a conflicting policy or because the policy assignment order is incorrect. The fix involves verifying the effective policy, re-running the bulk assignment with the correct precedence, and checking for direct assignments that override group-based policies. This article explains the root cause and provides step-by-step commands and admin center checks to resolve the issue.
Key Takeaways: Resolving Bulk Policy Assignment Failures in Teams
- Teams admin center > Users > Manage users > Policies: Shows the effective policy assignment, which may differ from the bulk-assigned policy.
- Get-CsUserPolicyAssignment PowerShell cmdlet: Lists all policy assignments for a user, including direct and group-based ones.
- Grant-CsGroupPolicyPackageAssignment cmdlet: Reassigns a policy package with correct precedence when a bulk assignment fails.
Why a Bulk Policy Assignment May Not Apply
When you assign a policy to multiple users at once, Teams uses a precedence order. Direct policy assignments override group-based assignments. If a user already has a direct assignment for the same policy type, the bulk assignment to a group will not change that user’s effective policy. The system does not flag this as an error, so the bulk operation completes but the user remains on the old policy.
Another common cause is that the bulk assignment targets a group, but the user is not a member of that group at the time of execution. If you added users to the group just before running the assignment, the group membership may not have propagated to the Teams policy engine. Propagation can take up to 24 hours.
Finally, the policy assignment order matters. If you run a bulk assignment for a policy package, but a user is also a member of another group with a higher precedence, that user will receive the higher-precedence policy. The bulk operation does not override this.
Steps to Diagnose and Fix the Policy Assignment
- Check the effective policy for a single user
Open the Teams admin center, go to Users, select the affected user, and open the Policies tab. Look at the Effective policy column. If the effective policy is not the one you bulk-assigned, note the policy type and name. - List all policy assignments with PowerShell
Connect to Skype for Business Online PowerShell. Run Get-CsUserPolicyAssignment -Identity “user@domain.com” -PolicyType All. This shows every assignment, including direct and group-based. Look for a direct assignment that overrides the group assignment. - Remove the conflicting direct assignment
If a direct assignment exists, run Remove-CsUserPolicyAssignment -Identity “user@domain.com” -PolicyType MeetingPolicy. This removes the override. After removal, the group-based assignment will take effect. - Re-run the bulk assignment with correct precedence
If the issue is group precedence, use the Grant-CsGroupPolicyPackageAssignment cmdlet to assign the policy package to the group with a higher precedence. For example: Grant-CsGroupPolicyPackageAssignment -GroupId “group-id” -PackageName “Education_Teacher” -PolicyType MeetingPolicy -Precedence 1. This ensures the group assignment overrides other assignments. - Verify propagation for new group members
If you added users to the group recently, wait 24 hours and then re-check the effective policy. If it still does not apply, remove and re-add the users to the group to force a refresh. - Confirm the policy package exists
Run Get-CsPolicyPackage -Identity “Education_Teacher” to verify the package name. A typo in the package name will cause the bulk assignment to fail silently.
If Teams Still Has Issues After the Main Fix
Why does the effective policy show “Not applicable”?
This occurs when the user is not assigned any policy for that type. It can happen if the bulk assignment was applied to a group that the user is not a member of, or if the policy type is not supported for the user’s license. Check the user’s license in the Microsoft 365 admin center. If the user lacks a Teams license, no policy will apply.
Why did the bulk assignment skip some users?
The bulk assignment operation in the Teams admin center skips users who already have a direct assignment for the policy type. The operation log in the admin center shows these users under “Skipped”. To fix, remove the direct assignment as described above, then re-run the bulk assignment.
Why does the policy apply but then revert after a few hours?
This happens when a group-based assignment is removed or when the user’s group membership changes. If the group is deleted or the user is removed from the group, the policy reverts to the default. To prevent this, assign the policy directly to the user instead of relying on group membership.
Bulk Policy Assignment vs Direct Assignment: Key Differences
| Item | Bulk Assignment | Direct Assignment |
|---|---|---|
| Method | Group-based via Teams admin center or PowerShell | Per-user via admin center or PowerShell |
| Overrides | Lower precedence than direct assignments | Overrides all group-based assignments |
| Propagation time | Up to 24 hours | Immediate |
| Management | Easier for large groups | More granular but time-consuming |
| Error visibility | Skips users silently | Reports errors clearly |
You can now diagnose why a bulk policy assignment does not apply and correct it using PowerShell or the admin center. Always verify the effective policy after any bulk operation. For large rollouts, consider using policy packages and check the precedence. To avoid future conflicts, remove direct assignments before running a bulk assignment.