Use PowerShell to set live events policies in Microsoft Teams

Note

Teams live events will be deprecated on September 30, 2024. We recommend that you use town halls instead. For details, see Plan for Teams town halls.

You can use the following Windows PowerShell cmdlets to set and assign policy settings for live events in Teams:

Here are some examples.

Note

Before you can run these cmdlets you must be connected to Skype for Business Online PowerShell. For more information, see Manage Skype for Business Online with Microsoft 365 or Office 365 PowerShell.

Allow users to schedule live events

Note

These examples are for events produced in Teams.

Allow a user to schedule live events

If the user is assigned the global policy, run and verify that AllowBroadcastScheduling parameter is set to True:

Get-CsTeamsMeetingBroadcastPolicy -identity Global

Then assign the user to the global policy, run:

Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName $null -Verbose

User scenarios

You want all users in your organization to be able to schedule live events

If users are assigned the global policy, run and verify that AllowBroadcastScheduling is set to True:

Get-CsTeamsMeetingBroadcastPolicy -identity Global

If users are assigned a policy other than the global policy, run and verify that -AllowBroadcastScheduling is set to True:

Get-CsTeamsMeetingBroadcastPolicy -identity {policy name}

You want live events scheduling to be disabled across your organization

Disable live events scheduling, run:

Set-CsTeamsMeetingBroadcastPolicy -identity Global -AllowBroadcastScheduling $false

Assign all users in your organization to the global policy, run:

Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName $null -Verbose

You want a large number of users to be able to schedule live events and prevent a set of users from scheduling them

Run and verify that AllowBroadcastScheduling is set to True:

Get-CsTeamsMeetingBroadcastPolicy -Identity Global

Then assign a user or users to the global policy, run:

Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName $null -Verbose

Create a new policy that doesn't allow scheduling live events, run:

New-CSTeamsMeetingBroadcastPolicy -Identity DisabledBroadcastSchedulingPolicy

Disable live events scheduling, run:

Set-CsTeamsMeetingBroadcastPolicy -Identity DisabledBroadcastSchedulingPolicy -AllowBroadcastScheduling $false

Then assign users to this policy, run:

Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName DisabledBroadcastSchedulingPolicy -Verbose

You want to disable live event scheduling for a large number of the users and allow a set of users to schedule them

Disable live events scheduling, run:

Set-CsTeamsMeetingBroadcastPolicy -identity Global -AllowBroadcastScheduling $false

Then assign those users to the global policy, run:

Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName $null -Verbose

Create a policy to allow live events scheduling, run:

New-CSTeamsMeetingBroadcastPolicy -identity EnableBroadcastSchedulingpolicy

Enable live events scheduling, run:

Set-CsTeamsMeetingBroadcastPolicy -identity EnableBroadcastSchedulingpolicy -AllowBroadcastScheduling $true

Then assign users to this policy, run:

Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName EnableBroadcastSchedulingpolicy -Verbose

Set who can join live events

Set the global policy to allow users to create events that everyone, including anonymous users, can attend, run:

Set-CsTeamsMeetingBroadcastPolicy -Identity Global -BroadcastAttendeeVisibility Everyone  

Set the recording option for live events

Note

This setting applies only to events produced in Teams.

Set the global policy to disable recording for live events:

Set-CsTeamsMeetingBroadcastPolicy -Identity Global -BroadcastRecordingMode AlwaysDisabled 

Set live captions and subtitles in live events

Note

This setting applies only to events produced in Teams.

Set the global policy to turn on live captions and subtitles (transcription) for event attendees:

Set-CsTeamsMeetingBroadcastPolicy -Identity Global -AllowBroadcastTranscription $true 

Set up for Teams live events

Teams PowerShell overview