Despite surging cloud adoption, Skype for Business Server 2015 continues to receive new cumulative updates with hotfixes as well as improvements. Cumulative Update 8 (CU 8) released in January 2019 came with some additional options for migrating on-premises users directly to Microsoft Teams in Office 365. With this CU and additional migration options now available in the Teams Admin Portal, moving to Microsoft Teams from on-premises gets a little easier.

First, if you are not familiar with the coexistence and upgrade modes, you can read more about these upgrade policies in my blog post over at 4Sysops:

Understand Microsoft Teams’ Coexistence and Upgrade Modes

These modes will also apply to users in an on-premises environment, given that you have hybrid configured with your online tenant and have identities properly synchronized.

The first improvement in CU 8 allows moving on-premises users directly to Teams Only mode in Office 365. This effectively turned a two-step process into a one-step process. Previously you would have to move the user to Skype for Business Online, then assign the Teams Only upgrade mode. This simplifies the process, giving organizations and administrators an easier path to moving away from Skype for Business Server.

KB 4470531: Support Moving Users from On-Premises to Teams in Skype for Business

The second improvement is managing the upgrade experience for on-premises users via new cmdlets and policies. These new cmdlets and policies mimic ones found in the Skype for Business Online PowerShell module. The cmdlets include:

Get-CsTeamsUpgradeConfiguration

Get-CsTeamsUpgradePolicy

Grant-CsTeamsUpgradePolicy

New-CsTeamsUpgradeConfiguration

New-CsTeamsUpgradePolicy

Remove-CsTeamsUpgradeConfiguration

Remove-CsTeamsUpgradePolicy

Set-CsTeamsUpgradeConfiguration

Set-CsTeamsUpgradePolicy

The cmdlets are split between managing the upgrade configuration and managing upgrade policies for the on-premises environment.

The upgrade configuration includes setting a policy to download the Teams client in the background for a user who is going to be migrated. The upgrade configuration policy does not have a separate parameter for holding the this true/false value but it is held in an Element property containing XML for controlling the download.

New configuration policies can be scoped at the global, site, or pool level. In my testing, I never saw the Teams client download for my test user who had a policy assigned to download the client. I waited several hours, so not sure what I may have been missing there but perhaps I should try a more scoped policy. Or it’s possible that I’m using the 64-bit version of Skype for Business, and the download policy only works for Win32 version (according to documentation). By default, the Global policy has DownloadTeams set to $true, but this will only be honored if NotifySfbUser is also set to $true for the user (see next policy).

The next set of cmdlets revolve around the upgrade policy. This policy will notify the user of a pending upgrade to Teams via a purple banner in the Skype for Business client. It will prompt the user launch Teams via a Try It button. This policy can be scoped to the global, site, or user level. View the default policy using the Get-CsTeamsUpgradePolicy and create your own using the New-CsTeamsUpgradePolicy. If you don’t specify a site name, the policy will become a user level policy. Check out the default policy for the global scope where notifications are disabled:

And the following examples for creating a site level and user level policy:

For a user policy, use the Grant-CsTeamsUpgradePolicy to assign the policy to a user:

When the user signs in, they should receive the purple banner about the pending upgrade:

I did experience some inconsistencies with the banner showing up. In one client, it appeared the first time I signed in, but not on subsequent sign-ins. On another client, it appeared each time I signed in. For the first client, I thought it was because I was a few versions behind the second client, but upgrading the client did not make any changes to the behavior. This was tested against version 16.0.11328.20156.

Anyway, the story to migrate to Teams is getting better and better with fewer obstacles in the way to making a smooth transition.

References

PowerShell: New-CsTeamsUpgradePolicy

https://docs.microsoft.com/en-us/powershell/module/skype/new-csteamsupgradepolicy?view=skype-ps

Notify Your Skype for Business On-Premises Users of the Upcoming Move to Teams

https://docs.microsoft.com/en-us/skypeforbusiness/hybrid/move-users-from-on-premises-to-teams#notify-your-skype-for-business-on-premises-users-of-the-upcoming-move-to-teams

Migration and interoperability guidance for organizations using Teams together with Skype for Business

https://docs.microsoft.com/en-us/microsoftteams/migration-interop-guidance-for-teams-with-skype

Teams client experience and conformance to coexistence modes

https://docs.microsoft.com/en-us/microsoftteams/teams-client-experience-and-conformance-to-coexistence-modes