Teams (Hybrid Deployment with SfB) – Organization Cannot be Upgraded to TeamsOnly

A few days ago, I was trying to change the Teams Upgrade policy of a tenant from “Skype for Business with Teams collaboration” to “Teams Only“.

The company still had an (empty) Skype for Business on-premises deployment, but all the users were already migrated to Teams and had user lever upgrade policies

My assumption was that the user policy was (eventually) going to have a priority over the tenant level (which is exactly the scenario I had already, but with a large part of the users having “Skype for Business with Teams collaboration” replaced by “Teams Only” at the user level as in the screenshot below)

Teams Upgrade Policy – User Level

Next step, I have gone to the tenant Teams Upgrade tab and selected “Teams Only” a a coexistence mode

Teams Upgrade – Tenant Level

Hitting the Save button, the result was the one you can see below. Not much of an hint about the motivation

Teams Upgrade – Error

Usually using the Skype for Business Online PowerShell Module gives a bit more information. Looking at Get-CsTeamsUpgradePolicy I had a list of policies. Global was the one I was interested in modifying

Get-CsTeamsUpgradePolicy

Ok, looks like I could get the work done using Set-CsTeamsUpgradePolicy (I should be able to change the mode for the Global policy). What I obtained was another error. The command is not available, even if there is still a Doc.Microsoft.Com page for it https://docs.microsoft.com/en-us/powershell/module/skype/set-csteamsupgradepolicy?view=skype-ps

Set-CsTeamsUpgradePolicy – Error

So, what next? Trying Grant-CsTeamsUpgradePolicy -PolicyName UpgradeToTeams -Global that should give the expected result anyway (leaving users with a user-level policy with their existing settings and setting the others to Teams Only).

What I got was another error, but finally with an explanation about where the issue was.

This organization cannot be upgraded to TeamsOnly at the tenant level because there is an on-premise deployment of Skype for  Business detected in 1 or more of it sip domains, xxxx.yyy. Users can be individually upgraded to TeamsOnly using either Move-CsUser (if the user has an on-premises Skype for Business account) or Grant-CsTeamsUpgradePolicy (if the user is homed in Skype for Business online).

So, finally closing the loop: the Teams Only policy cannot be applied at the tenant level (unless all the on-premises deployments of Skype for Business for the relevant SIP domains have been removed).

As I said before, it is still possible to apply policies to the users in a batch, using a script like

$userlist = Get-CSOnlineUser
foreach($User in $userlist)
{
 Grant-CsTeamsUpgradePolicy -PolicyName UpgradeToTeams -Identity $User.SipAddress
}