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?


Discover more from Patrick Domingues

Subscribe to get the latest posts sent to your email.

author avatar
Patrick Domingues

Leave a Comment

Stay Informed

Receive instant notifications when new content is released.