Lync/SfB Server: How to fix msRTCSIP-DeploymentLocator when it’s empty/not set

While working on a support case we notice that the AD Attribute msRTCSIP-DeploymentLocator wasn’t set for some Skype for Business enabled users.
These users could sign in and use the Skype for Business features, however, we decided to make sure all SfB OnPrem users had the correct value – “SRV:

We can use the following PowerShell cmdlet to get users with empty msRTCSIP-DeploymentLocator:

Get-ADuser -Properties msRTCSIP-PrimaryUserAddress -Filter {msRTCSIP-UserRoutingGroupId -like "*" -and msRTCSIP-DeploymentLocator -notlike "*" -and msRTCSIP-UserEnabled -eq $true } | Select UserPrincipalName,msRTCSIP-PrimaryUserAddress

In the previous PowerShell cmdlet we filter users using 3 parameters:

  • msRTCSIP-UserRoutingGroupId -like “*”
  • We only want OnPrem users, this means that the Routing Group ID will not be empty.

  • msRTCSIP-DeploymentLocator -notlike “*”
  • Get all users with Deployment Locator empty.

  • msRTCSIP-UserEnabled -eq $true
  • Filter for Skype for Business enabled users.

If we only have a few users then we can simply use the Active Directory Users and Computers (dsa.msc):

Alternatively, we can use PowerShell cmdlet to fill the msRTCSIP-DeploymentLocator, this works for one user or multiple users:

Get-ADuser -Filter {msRTCSIP-UserRoutingGroupId -like "*" -and msRTCSIP-DeploymentLocator -notlike "*" -and msRTCSIP-UserEnabled -eq $true } | Set-ADUser -Replace @{"msRTCSIP-DeploymentLocator"="SRV:"} -Verbose

Note: Using verbose will allow to see the users where msRTCSIP-DeploymentLocator attribute is modified, however, it’s highly recommend to review the users with the first PowerShell cmdlet before running modifying all affected users in bulk.