PowerShell Tutorials

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.

PowerShell-7

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:

  1. Have users sign out completely from Teams (including from the system tray).
  2. Close the Teams app entirely.
  3. Sign back in after a few minutes.
  4. (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?

Leave a Comment

Stay Informed

Receive instant notifications when new content is released.