Use PowerShell to set live events policies in Microsoft Teams
Note
We're currently still supporting live events. While we still recommend you to upgrade to Teams town halls to take advantage of new features and experiences, your users can continue to schedule events. For more information, see Updates for Town Hall in Microsoft Teams and Teams Live Events.
You can use the following Windows PowerShell cmdlets to set and assign policy settings for live events in Teams:
- Get-CsTeamsMeetingBroadcastPolicy
- Set-CsTeamsMeetingBroadcastPolicy
- New-CsTeamsMeetingBroadcastPolicy
- Grant-CsTeamsMeetingBroadcastPolicy
- New-CsGroupPolicyAssignment
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.
The following sections provide user scenarios for various PowerShell commands used to manage events produced in Teams:
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 the following script and verify that the
-AllowBroadcastScheduling
parameter is set to True:
Get-CsTeamsMeetingBroadcastPolicy -identity Global
- Next, to assign the user to the global policy, run the following script:
Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName $null -Verbose
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 to turn off live events scheduling for your organization
To turn off live events scheduling, run the following script:
Set-CsTeamsMeetingBroadcastPolicy -identity Global -AllowBroadcastScheduling $false
To assign all users in your organization to the global policy, run the following script:
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
1. Allow a large number of users to schedule live events
- Run the following script to verify that **
-AllowBroadcastScheduling
**is set to True:
Get-CsTeamsMeetingBroadcastPolicy -Identity Global
- Next, to assign a user or users to the global policy, run the following script:
Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName $null -Verbose
2. Create a new policy that doesn't allow specific users to schedule live events
- To create a new policy that doesn't allow specific users to schedule live events, run the following script:
New-CSTeamsMeetingBroadcastPolicy -Identity DisabledBroadcastSchedulingPolicy
- To turn off live events scheduling, run the following script:
Set-CsTeamsMeetingBroadcastPolicy -Identity DisabledBroadcastSchedulingPolicy -AllowBroadcastScheduling $false
- To assign users to this policy, run the following script
Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName DisabledBroadcastSchedulingPolicy -Verbose
You want to turn off live event scheduling for a large number of the users and allow a set of users to schedule them
1. Turn off live events scheduling for a large number of users
- To disable live events scheduling, run the following script:
Set-CsTeamsMeetingBroadcastPolicy -identity Global -AllowBroadcastScheduling $false
- To assign those users to the global policy, run the following script:
Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName $null -Verbose
2. Create a new policy that allows specific users to schedule live events
- To create a policy to allow live events scheduling, run the following script:
New-CSTeamsMeetingBroadcastPolicy -identity EnableBroadcastSchedulingPolicy
- To turn on live events scheduling, run the following script:
Set-CsTeamsMeetingBroadcastPolicy -identity EnableBroadcastSchedulingPolicy -AllowBroadcastScheduling $true
- To assign users to this policy, run the following script:
Grant-CsTeamsMeetingBroadcastPolicy -Identity {user} -PolicyName EnableBroadcastSchedulingPolicy -Verbose
Set who can join live events
To set the global policy to allow users to create events that everyone, including anonymous users, can attend, run the following script:
Set-CsTeamsMeetingBroadcastPolicy -Identity Global -BroadcastAttendeeVisibility Everyone
Set the recording option for live events
Note
This setting applies only to events produced in Teams.
To set the global policy to disable recording for live events, run the following script:
Set-CsTeamsMeetingBroadcastPolicy -Identity Global -BroadcastRecordingMode AlwaysDisabled
Set live captions and subtitles in live events
Note
This setting applies only to events produced in Teams.
To set the global policy to turn on live captions and subtitles (transcription) for event attendees, run the following script:
Set-CsTeamsMeetingBroadcastPolicy -Identity Global -AllowBroadcastTranscription $true