In large enterprises and multinational corporations, broadcasting executive town halls, investor updates, quarterly earnings calls, and global all-hands meetings requires specialized video streaming infrastructure. In Microsoft Teams, these large-scale structured events are hosted as Town Halls and Live Events, scaling seamlessly to accommodate up to 20,000 attendees with enterprise content delivery network (eCDN) optimization.
Because executive broadcasts involve sensitive corporate communications, high network bandwidth, and third-party production hardware (such as external video switchers and RTMP encoders), voice and collaboration administrators must enforce strict governance over who is authorized to schedule broadcasts and how recording and transcription features are deployed. The Microsoft Teams PowerShell module includes dedicated cmdlets for this purpose: CsTeamsMeetingBroadcastPolicy. Using these cmdlets, administrators can define broadcast permissions, manage external video production inputs, and enforce recording compliance across tenant tiers.
Understanding Microsoft Teams Meeting Broadcast Policies
The CsTeamsMeetingBroadcastPolicy cmdlets govern broad technical capabilities for Town Halls and Live Events scheduled by targeted users:
- Broadcast Scheduling Authorization (
AllowBroadcastScheduling): Determines whether users have permission to create and host large-scale broadcasts in Microsoft Teams. Typically restricted to executive communicators, corporate marketing, and event specialists to avoid unauthorized company-wide event scheduling. - Broadcast Recording Policies (
BroadcastRecordingMode): Governs whether broadcasts are automatically recorded in Microsoft Stream, whether recordings can be paused by producers, or whether recording is prohibited. - Live Captions and Transcriptions: Controls whether automated multi-language captions and translated subtitles are generated in real time for attendees.
- External Video Production (RTMP Input): Specifies whether producers can ingest professional multi-camera streams via Real-Time Messaging Protocol (RTMP) or Secure Reliable Transport (SRT) from hardware encoders or software like OBS and vMix.
Connecting to the Microsoft Teams PowerShell Module
Before managing broadcast policies, launch an elevated PowerShell prompt and connect to your Microsoft 365 tenant:
# Import the Teams PowerShell module and connect
Import-Module MicrosoftTeams
Connect-MicrosoftTeams
Querying Existing Broadcast Policies
To inspect all configured broadcast policies across your tenant, execute Get-CsTeamsMeetingBroadcastPolicy:
# Query all configured meeting broadcast policies
Get-CsTeamsMeetingBroadcastPolicy
To view the output in a clean, structured table highlighting key governance settings:
# Format broadcast policy properties into a table
Get-CsTeamsMeetingBroadcastPolicy | Format-Table Identity, AllowBroadcastScheduling, BroadcastRecordingMode, SupportURL
By default, the Global policy applies to all users unless an explicit custom policy is assigned.
Creating Stricter Global Broadcast Restrictions
To prevent general employees from scheduling company-wide town halls while granting full production capabilities to communications teams, configure the Global tenant-wide policy to disable broadcast scheduling by default:
# Disable broadcast scheduling globally for general staff
Set-CsTeamsMeetingBroadcastPolicy `
-Identity "Global" `
-AllowBroadcastScheduling $false
Creating an Executive and Corporate Communications Broadcast Policy
Next, create a custom policy dedicated to corporate event producers, enabling full town hall scheduling, mandatory cloud recording, and external hardware encoder support:
# Create an advanced broadcast policy for corporate event teams
New-CsTeamsMeetingBroadcastPolicy `
-Identity "CorporateEvents-Producers" `
-Description "Permits town hall scheduling with RTMP encoder support and mandatory recording" `
-AllowBroadcastScheduling $true `
-BroadcastRecordingMode "AlwaysRecord" `
-SupportURL "https://intranet.contoso.com/it/events-support"
Valid values for BroadcastRecordingMode include:
AlwaysRecord: Recordings are automatically initiated when the broadcast starts; producers cannot disable recording.UserOverride: The producer chooses whether to record the event when scheduling or during the live broadcast.NeverRecord: Recording is completely prohibited for compliance or privacy reasons.
Assigning Broadcast Policies to Users and Security Groups
Once custom policies are defined, assign them to authorized event producers using Grant-CsTeamsMeetingBroadcastPolicy:
# Assign the broadcast policy to a specific user
Grant-CsTeamsMeetingBroadcastPolicy `
-Identity "[email protected]" `
-PolicyName "CorporateEvents-Producers"
To apply the policy to an entire corporate communications department using an Entra ID (Azure AD) security group:
# Assign policy across an Entra ID security group
Grant-CsTeamsMeetingBroadcastPolicy `
-Group "89451a20-43be-4c1e-9102-abcdef014567" `
-PolicyName "CorporateEvents-Producers" `
-Rank 1
Removing Obsolete Broadcast Policies
If organizational policies are restructured or pilot rings conclude, unassign users and delete the policy using Remove-CsTeamsMeetingBroadcastPolicy:
# Remove an obsolete custom broadcast policy
Remove-CsTeamsMeetingBroadcastPolicy -Identity "CorporateEvents-Producers"
To execute deletions inside automated de-provisioning scripts without interactive confirmation prompts, append -Confirm:$false.
Using CsTeamsMeetingBroadcastPolicy ensures that enterprise collaboration administrators maintain centralized governance over large-scale Town Halls and Live Events, protecting organizational bandwidth and ensuring compliance across Microsoft Teams.