Hola. I was asked to come up with a way to clear the ‘Sign-In Address’ field in the SFB client say in a migration scenario where the user is moved to Skype for Business Online or another environment etc. This could be helpful with the SIP URI was changed for any other reason as well, so when the user logs in after a move it wont try to logon with the old SIP address.
The value for this is stored in the registry at
HKCU:\Software\Microsoft\Office\15.0\Lync\ if you have the 2015 SFB client or:
HKCU:\Software\Microsoft\Office\16.0\Lync\ if you have the 2016 SFB client.
Look for the ‘ServerSipUri’ value. Ironically clearing this completely doesn’t remove it from the ‘Sign-In Address’ box but whatever you change the value to will be present when you restart the client.
Now, lets say its a migration scenario where the user or a desktop support engineer will be logging in as the user and you want to set this automatically with the users updated SIP URI. Note this assumes that UserPrincipalName (UPN) matches the SIP address but if it doesn’t life will generally suck anyway so it really should 🙂
We can use the Get- or Set-ItemProperty cmdlet to read or modify a registry setting as needed. In this case I needed to get the UPN of. The user currently logged in, and feed that to the ServerSipUri key. In the below example I cleared the value of the key.
So, how to get the UPN of the currently logged in user? WHOAMI. Running WHOAMI/ UPN from the shell or CMD box should echo the UPN of the user thats currently logged in. Once we have that you can just send that value to a variable and pass that to the Set-ItemProperty cmdlet to overwrite the value. For example:
set-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Lync\ -Name “ServerSipUri” $me -ErrorAction SilentlyContinue
set-ItemProperty -Path HKCU:\Software\Microsoft\Office\16.0\Lync\ -Name “ServerSipUri” $me -ErrorAction SilentlyContinue
I added both the 15.0 and 16.0 keys in case different versions were installed. I am sure you could do some cool logic to read the version but I am lazy and like I said, this is quick and dirty.
Once we run the “script” we can verify that the ServerSipUri value was set accordingly.
There are likely many ways to do this but this worked for me. Please share any feedback.