How to Enable Auto Recording & Transcription in Microsoft Teams and Assign Meeting Policies to All Users
This guide walks you through configuring Microsoft Teams so that all meetings automatically record and transcribe, and then applying a consistent meeting policy (e.g., AllOn) to every Teams-enabled user in your tenant.

Step 1 โ Prerequisites
Before you begin, ensure:
- You have the Teams Administrator or Global Administrator role in Microsoft 365.
- You have PowerShell 5.1+ (Windows) or PowerShell 7+ installed.
- You have internet connectivity to Microsoft 365 services.
Step 2 โ Install the Microsoft Teams PowerShell Module
If not already installed, run PowerShell as an Administrator and execute:
Install-Module -Name MicrosoftTeams -Force
If prompted to trust the repository, type Y and press Enter.
Step 3 โ Connect to Microsoft Teams
Sign in to your tenant:
Connect-MicrosoftTeams
- Enter your Microsoft 365 admin credentials.
- If Multi-Factor Authentication (MFA) is enabled, complete the verification.
Step 4 โ Check Current Global Meeting Policy Settings
The Global TeamsMeetingPolicy is the default policy for users without an assigned custom policy. To check the current auto recording and transcription status:
Get-CsTeamsMeetingPolicy -Identity "Global" | Select AutoRecording, AllowTranscription
Step 5 โ Enable Auto Recording and Transcription in Global Policy
Update the Global policy to automatically record and transcribe meetings:
Set-CsTeamsMeetingPolicy -Identity "Global" -AutoRecording Enabled -AllowTranscription $true
You can confirm the changes with:
Get-CsTeamsMeetingPolicy -Identity "Global" | Select AutoRecording, AllowTranscription
Step 6 โ Verify a Custom Meeting Policy Exists (e.g., AllOn)
If you plan to assign all users to a specific policy (to avoid waiting for Global propagation), confirm it exists:
Get-CsTeamsMeetingPolicy | Where-Object { $_.Identity -like "*AllOn*" }
If no results are returned, create or configure the AllOn policy via the Teams Admin Center.
Step 7 โ See Which Users Are Not Assigned to the AllOn Policy
(Optional but recommended for review before bulk assignment)
Get-CsOnlineUser | Where-Object { $_.TeamsMeetingPolicy -ne "AllOn" } | Select DisplayName, UserPrincipalName, TeamsMeetingPolicy
Step 8 โ Assign All Users to the AllOn Policy
To assign all Teams-enabled users to the AllOn policy:
Get-CsOnlineUser | ForEach-Object { Grant-CsTeamsMeetingPolicy -Identity $_.UserPrincipalName -PolicyName "AllOn" }
To assign only to those not already using AllOn:
Get-CsOnlineUser | Where-Object { $_.TeamsMeetingPolicy -ne "AllOn" } | ForEach-Object { Grant-CsTeamsMeetingPolicy -Identity $_.UserPrincipalName -PolicyName "AllOn" }
Step 9 โ Verify the Assignment
For a specific user:
Get-CsOnlineUser -Identity "[email protected]" | Select DisplayName, TeamsMeetingPolicy
Step 10 โ Refresh Teams for Users
Policy changes can take 1โ24 hours to fully apply. For faster results:
- Have users sign out completely from Teams (including from the system tray).
- Close the Teams app entirely.
- Sign back in after a few minutes.
- (Optional) Clear Teams cache at:
%appdata%\Microsoft\Teams
Summary
By following these steps, you:
- Enabled Auto Recording and Auto Transcription in the Global policy.
- Applied a consistent meeting policy (AllOn) to every user for immediate effect.
- Ensured all users benefit from the same recording and transcription features without waiting for policy propagation.
If youโd like, I can also add screenshots of PowerShell outputs and Teams Admin Center settings so this guide becomes a complete visual walkthrough for your support team.
Do you want me to create that illustrated version next?