Use PowerShell to set live events policies in Microsoft Teams

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

Here are some examples.

Allow users to schedule live events

Note

These examples are for events produced in Teams. For events produced with an external app or device, there are additional steps you must do. For more information, see Enable users to schedule events that were produced with an external app or device.

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