Enabling Teams features with PowerShell

There are some Microsoft Teams features which cannot be configured or clearly seen on Microsoft Teams & Skype for Business Admin Center, so here are some PowerShell scripts to manage and activate Teams features like

  • Enable Message Translation
  • Manage Teams-only mode
  • Manage live event policies


Skype for Business Online Connector module is required for operating with Teams settings. You can check, if you have it already installed with this PowerShell command

Get-Module -ListAvailable | where-object {$_.Name -eq "SkypeOnlineConnector"}

Command will return something like this, if module is available:


If command returns nothing, you need to download and install Skype for Business Online Connector module.

Opening a management session

First you need to open a management session, it requires just couple of PowerShell commands.

Import-Module SkypeOnlineConnector
$session = New-CsOnlineSession
Import-PSSession $session

Once complete, you can start activating Teams features and managing policies.

Message translation

Message translation allow users to translate chat message on Teams conversations.


Message translation can be activated with single policy setting.

Set-CsTeamsMessagingPolicy -Identity Global -AllowUserTranslation $true

Identity parameter value Global activates message translation to all users.

Migrating users to Teams-only mode

Teams only mode is one option for migrating from Skype for Business to Teams. On Teams only mode users are utilizing Teams on day-to-day communications and collaboration. Skype for Business is still, at least for now, required for attending Skype for Business meetings. Chats and calls support only basic functionalities between Skype for Business and Teams.

For activating Teams-only mode to a single user, you need to run two PowerShell commands to update policies.

Grant-CsTeamsUpgradePolicy -PolicyName UpgradeToTeams -Identity $SipAddress
Grant-CsTeamsInteropPolicy -PolicyName DisallowOverrideCallingTeamsChatTeams 
-Identity $SipAddress

If you want to update all users in the organization, just leave -Identity parameter out.

After commands are run, users Skype for Business client will tell user to start using Teams. For me this happened in 1-2 minutes.


More information about different migration options for Skype for Business and Teams can be found here: https://docs.microsoft.com/en-us/microsoftteams/upgrade-and-coexistence-of-skypeforbusiness-and-teams

Managing Teams Live Event Policies

By default Teams has a Global policy for live events, which affects to all users in the organization.

You check all organization’s policies with


It should at least return a Global policy.

You can create new live event policies from Microsoft Teams and Skype for Business Admin Center or create the policy with PowerShell.

New-CsTeamsMeetingBroadcastPolicy -Identity "PublicEventsPolicy" -BroadcastAttendeeVisibilityMode Everyone

Command creates a new policy name “PublicEventPolicy” with settings below


To get all users who have custom policy applied, for this example policy is named “PublicEventsPolicy” and user’s DisplayName and UserPrincipalName are returned.

Get-CsOnlineUser | Where-Object {$_.TeamsMeetingBroadcastPolicy -eq "PublicEventsPolicy"} |select DisplayName, UserPrincipalName| out-gridview

And to get a nice list of all users sorted by custom live event broadcast policy.

Get-CsOnlineUser | Where-Object {$_.TeamsMeetingBroadcastPolicy -ne $null} |Sort-Object -Property TeamsMeetingBroadcastPolicy | select DisplayName, TeamsMeetingBroadcastPolicy | Out-GridView

2 thoughts on “Enabling Teams features with PowerShell

Add yours

  1. Hi Matti ..This is a great article from the knowledge perspective. However i am facing one issue when i try to do this. I have SkypeOnlineConnector Module installed on my machine , still i do not see any commandlets with Grant-Cs or Get-Cs etc. However i do get New-CsOnlineSession and can connect to my tenant with that. What can be the issue. Is there any other module which needs to be imported or installed. I have included command Import-Module .pds as well. Please advise


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Powered by WordPress.com.

Up ↑

%d bloggers like this: