The CSAddressBook Guide

Hi ! 🙂

I wery often get the question – “We updated this or that in AD – but our clients are not reflecting changes” or worse, clients are reflecting both old and updated info.

So i decided to do this guide on how to get on top of things on the SKYPE for Business/ LYNC address book updating topic.

So lets assume that you have a standard environment with AD – SKYPE for Business server 2015 and Office 2013/2016 – and have changed the phone number on a specific user in AD.

First off – if you don’t do any manual work, the SFB server will automatically update the userdatabase and addressbooks at 1:30AM – And the the clients will update accordingly depending on the settings in the client Policy in SFB.

So let’s go through manually updating this.

First of after changing info in Active Directory Users and Computers – make sure your GC’s have replicated.
The go to “Skype for Business Management Shell” and run update-csuserdatabase
This will connect to AD and get the latest userinfo and update in the Backend SQL database.

Goto Event Viewer in the “LYNC” portion of “Applications and services Logs”
And wait for this event:

Now replication is running.

The wait for it to finish with this event:

Now its tome to update the addressbook files on the SFB File Share.

Go back to The SFB Management Shell and run “update-csaddressbook”

The go back to event viewer and watch out for this event:
PLEASE NOTE: If you have a pool of more than one SFB server, this event can occur of any FrontEnd server:

Now wait for Synchronization to Finish:

During this Synchronization – you may come accros This Event:

This is due to either failing Normalization txt file, or type error in the phone numbers field in AD – open the Txt file found in the SFB FileShare – and go through the errors, and correct in AD.

IF the fail is due to a missing normalization file – please go back to your SFB fileshare and make shure that the text file called Company_Phone_Number_Normalization_Rules.txt exists in the ABFiles directory:

Also check that the addressbook service is actually configured to use this normalization file:

And lastly make sure that the regex in the file actually meets your company requirements, example above is for a Danish installation with 8 digit numbers in AD being converted to E.164

For a Fantastic article on this subject of Normalization alone – please goto Jeff Schertz great blog:

SO – Now the Synchronization is complete – this means that the servers address book version is up to date – so now the fun begins – because you would expect that after signing out of back in your client, the number would be corrected – yes ? No ? Maybe ?
Well i have seen everyting from Next day to several days before changes appearing, and very common is the issues of both the new number and the old number showing – all this is down to client caching.
If you dont change anything your SFB client will make a local cache of the address book in the folder in this path:
%appdata%localmicrosoftOffice16.0Lync (depending of Office version)

It is perfectly Safe to delete this folder entirely (after closing the SFB client) on sign in it will generate the folder again – and anywhere between 5 and 60 minutes your addressbook will cache again – BUT in smaller environments  – My recommendation is usually to disable this caching entirely by setting this setting in the Csclientpolicy:
set-csclientpolicy -addressbookavailability websearchonly

This force the SFB client to search directly in the servers addressbook – both from Lan and Internet.

this also has the great sideeffect, that you will never see the message “Please wait for address book to finish replicating” in your client – it just works.

BUT – the fun does not stop here – that client is very keen on finding the user that you want to contact, so by default it also searches Outlook – and in the Contacts folder in Outlook (since version 2013) there is actually a hidden folder called “Recipient cache” This i great for Outlook, but not so great for SFB – so i also recommend disabling this folder i local searches from the SFB client – by running this command:
set-csclientpolicy -excludedcontactfolders “Recipient Cache”

So now you can finally restart your client, let the new policyes apply, and finally se ONLY the updated info in your search – If your still see wrong info – please make sure you dont have your own copy of this person in your contacts in Outlook.

Happy SKYPE’ing.

Leave a Reply

Your email address will not be published. Required fields are marked *