Managing the Skype for Business User Experience
Yesterday, Microsoft rolled out the April 2015 update for Lync 2013 which replaces Lync 2013 with the Skype for Business user experience. I tried out Skype for Business with the Office 2016 Technical Preview a few weeks ago and although it’s early doors, I’m liking the coming together of the two product families thus far.
In this post, I am going to cover off the prerequisites for client and server and also the configuration settings for managing the end-user experience as already, there seems to be a wave of confusion online about it.
In order for your clients to receive the new Skype for Business user experience, there are some prerequisities that apply. Firstly, you must be running Office 2013 with Service Pack 1 (KB2817430). If you don’t have Service Pack 1, you can download it from here for 32-bit and here for 64-bit installations.
With Service Pack 1 applied, you then must have the March 2014 Update for Lync 2013 (KB2863908) applied which you can obtain from here for 32-bit and here for 64-bit installations. There are many updates for Office 2013 post-SP1 which apply not only to Lync but to the whole suite so I would recommend updating all the other products too, not just Lync but for the purposes of this post, this is the update that is critical.
With both the Office 2013 Service Pack 1 applied and the March 2014 update for Lync applied, you are ready to install the Skype for Business update. This update is the April 2015 Update for Skype for Business (KB2889853) and you can download the 32-bit version here or the 64-bit version from here.
Update for Skype for Business
Once you have installed Skype for Business from KB2889853 above, you will want to get another update which is KB2889923 which is a post-April 2015 update for Skype for Business which addresses known issues with the original release. Hard to believe that such an update already exists but it sure does. You can download this update, KB2889923 for 32-bit here and for 64-bit here. Don’t be alarmed that the download page for this update still reports Lync 2013 as the effected product as this is a known thing.
Once you have the updates above installed, you will be running Skype for Business however for many users, you will be prompted at first login that your administrator doesn’t want to run this version of Skype for Business and that you need to revert to Lync.
This is caused by server-side settings and depending on your environment whether you are on-premise Lync Server or Office 365 will effect how you resolve it. If you want to control this behavior manually for testing purposes then you can edit the registry key which governs the client experience at HKCU\SOFTWARE\Microsoft\Office\Lync where you can edit the value of the EnableSkypeUI binary value accordingly. 00 00 00 00 denotes that the classic Lync user interface is used and 00 00 00 01 denotes that the Skype for Business UI is used.
Managing Office 365 Client Experience
If you are using Office 365 then one of the benefits of the service is that Microsoft keep your platform up to date for you so you can go right ahead and configure the server-side policy.
In order to connect to Lync Online via PowerShell, you need to have the Microsoft Online Services Sign-In Assistant installed which you can obtain from http://www.microsoft.com/en-us/download/details.aspx?id=28177 and you will need to have the updated version of the Lync Online Connector Module installed in order to access the Skype for Business parameters. You can download the Lync Online Connector Module from http://www.microsoft.com/en-gb/download/details.aspx?id=39366. If you have managed your Lync Online tenant from PowerShell before you will already have the sign-in assistant so just grab the updated Lync module.
With the two installed, you can download the SwitchSkypeUI.zip file from Microsoft at http://www.microsoft.com/en-us/download/details.aspx?id=46404. This .zip file includes three PowerShell scripts.
DisableSkypeUIGlobal.ps1 will disable the Skype for Business UI for all of your users and force them to use the Lync UI.
EnableSkypeUIGlobal.ps1 will enable the Skype for Business UI for all users and if they have the relevant updates installed will be forced to use the Skype UI.
EnableSkypeUIForUsers.ps1 will enable the Skype UI for a specific set of users. The script accepts pipeline input to the $users variable for your users.
If you run any of these scripts you will be prompted to enter your Office 365 Global Administrator credentials to perform the operation. If you run the selective users script then you will need to provide the users in UPN format such as email@example.com.
Managing Lync Server On-Premise Client Experience
If you are using Lync Server in an on-premise or hosted environment then the work may potentially be a little more consuming. In order to access the Skype for Business parameters in the Lync PowerShell Module, you must be running at least the December 2014 Cumulative Update for Lync Server 2013. You can obtain this update from https://support.microsoft.com/en-us/kb/3018162/ and this updates carries a version number of 5.0.8308.857 if you want to check your current versions.
If you don’t have this update installed then you are going to first need to plan the deployment of it throughout your Lync topology. If you are in a hosted environment, check with your service provider whether the update has been applied.
With the update applied, we expose a new parameter for the CsClientPolicy Cmdlets in PowerShell to configure the Skype for Business user experience.
Either from a Lync Server or from a client with the Lync PowerShell Module installed, you can use the following commands to configure the client experience.
To disable the Skype for Business experience for all users, enter the Cmdlet Set-CsClientPolicy -Identity Global -EnableSkypeUI $False. If you want to enable the experience for everyone then you can use the Cmdlet Set-CsClientPolicy -Identity Global -EnableSkypeUI $True.
If you want to configure the experience to be enabled only for a subset of users such as a test group then you can apply the parameter to a specific Client Policy such as Set-CsClientPolicy -Identity CustomPolicyName -EnableSkypeUI $True.