Use PowerShell to set live events policies in Microsoft Teams
Note
Teams live events are no longer going away on September 30, 2024. While we still recommend you to upgrade to Teams town hall when ready to take advantage of new features and experiences, your users can continue to schedule events beyond September 2024. 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
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