When migrating from Skype for Business Server to Microsoft Teams you may find that users are not migrated with the correct features as intended. If the migration also includes moving Enterprise Voice workloads and switching to a Direct Routing or Calling Plan setup, you may find it difficult to get a full overview of what state the user is in and if all settings are correct.
I found that this Skype for Business Online PowerShell oneliner gave me the overview I needed to see if there were configuration issues or wrong settings. Hope this helps you in your post-migration cleanup process
TeamsUpgradeEffectiveMode – Should be set to TeamsOnly, if not, try to change it again and look at the error message
UsageLocation, DialPlan, and TenantDialPlan – When using enterprise voice together with Microsoft Teams, UsageLocation is important. It decides the number you get as part of AudioConferencing and your DialPlan. The default DialPlan just adds a plus and country code to whatever you type in Teams and is rarely good enough. You should supplement with TenantDialplans, don’t crate them yourself, use https://www.ucdialplans.com/ by MVP Ken Lasko. UsageLocation is set using the MSol PowerShell module.
LineURI, OnPremLineURI, and VoicePolicy – if your VoicePolicy is set to BusinessVoice you have a Calling Plan assigned, if it is set to HybridVoice, you are using Direct Routing. This is good to know if you are troubleshooting why LineURI is not updated by OnPremLineURI for Direct Routing. You should also know that if you are not able to set OnPremLineURI using Set-CsUser using online PowerShell, then you have msRTCSIP-LineURI populated in local Active Directory. If you clear this attribute, you get write access to the OnPremLineURI online.
InterpretedUserType – is a great source of information. It tells you the status of the user. If you have any attributes in local Active Directory it will be set to HybridOnpremSfBUser. If for some reason the user is disabled it will show in this attribute as something with disabled such as DirSyncDisabledSfBUser. Read this useful GitHub article that goes into this in more detail
If InterpretedUserType has the value of HybridOnpremSfBUser, then you need to clean up on-premises attributes if you are fully moving to Microsoft Teams and are decommissioning your on-premises deployment. The best way is to use Disable-CsUser to remove all Skype for Business related attributes on a user. More often than not, we see that this command is not run before decommissioning the deployment, so you need to remove the properties manually, here is a routine to detect all msRTCSIP attributes and then to clear them in Active Directory. Based on the type of configuration the user had before servers were removed, the properties with a value may be different per user so using ‘msRTCSIP*’ is a good way to catch the attributes for that specific user.
Recently I posted a blogpost on Finding the correct patch version of a Lync server. After writing the blogpost I realized that it would be very cool to automate this using PowerShell. The result is Get-CsInstalledLyncVersion.ps1 which is available to TechNet Gallery. This is a great tool to do an initial assesment of a Lync deployment where you get a good overview of installed servers and their current patch level.
Get-InstalledLyncVersion.ps1 script to check patch level on all Lync servers in an environment
This script works for Lync Server 2010 and Lync Server 2013
Recently I have been troubleshooting and doing health checks on a couple of Lync systems. When troubleshooting it is good to know what patch level your servers are on, whether they are on the same patch level or the newest patch level.
I discovered at one client that the Edge servers in DMZ was being patched through Windows Update, but the internal Front End servers where not being patched, they where not part of the patch system the customer where enforcing. The result was that at one point, with the january 2014 cumulative update on the Edge server and the RTM patch level on the Front End servers, the gap became too large and the it ended up with the Front End servers not supporting and working with the Edge AV relay server. We saw the error occur with unsupported realy server in the diagnostics header before the Front End servers even tried setting up the media traffic on the Edge servers. Quite a strange problem to troubleshoot, but best practice is that all servers should be on the same patch level. Patching the internal Lync servers solved the issue.
Here is some notes on finding what patch level your servers have
To find the patch level of your Lync server, the easiest way is looking at the installed components under control panel and programs and features
Recently I had to troubleshoot Office Web Apps Server deployments at a couple of customer sites. I had to work through the config and sometimes the Office Web Apps server feels disconnected from the rest of the Lync configuration and can be a difficult role to troubleshoot. I have tried to collect my notes and if I have missed something, let me know.
How to check that the Office Web App Server Web farm is deployed correct
Make sure the correct prerequisites are installed, use MVP Pat Richard’s Lync prerequisites script
The Lync Mobility service and the Lync Clients was released 13.12.2011. Since then as we get more hands-on with the service there are in some cases trouble getting the it up and running. This post is dedicated to how you can test and troubleshoot the mobility service deployment. I will update this post when I find more information on how to troubleshoot and how to solve certain scenarios.
When deploying Lync Server 2010 you will most likely come across a lot of strange behaviour and stuff that don’t work as expected due to configuration errors or environmental issues. I will in this post try to collect the solutions and articles I find and update along the way, to have troubleshooting tips in one place. Please let me know if any good blog posts or articles that solve some specific problems is not listed here.
Troubleshooting Lync may be a daunting task since there is a lot of elements that is involved in a deployment. Over the years troubleshooting OCS and Lync I have found a routine for eliminating problems. If you have deployed Lync Server and there is connectivity issues or some features not working I usually go about it in the following order: Continue reading →