One of the questions that comes up very regularly on the TechNet forums is how to add contacts to the Lync or Skype client before a user signs in for the first time. This question is occasionally followed with a bit of incredulity that there is no native functionality in the server to do this for you. For those with an absolute need to get this done, there are some links at the bottom of this post to help with on-premises deployments.
But why isn’t it native? Did Microsoft simply forget this? Not at all! However, it might be time to change the way you think of your contact list. Don’t think of the client as a place to keep all of your contacts, instead, think of it as a speed dial for quick access to frequently used contacts. For all of your other contacts, the search is all you need (and if you’re having trouble with that, try WebSearchOnly). Why clutter a user’s client’s with everyone else in the company? They won’t be able to see everyone’s presence without clicking and scrolling anyway due to the size of the client, and if this is still functionality they’d want, you can always direct them to add Exchange Distribution lists relevant to their job function.
If you do pre-load contacts into user’s accounts, keep in mind that depending on the size of your organization, and how many you want to load, there may be ramifications. When a contact is added, a subscription is created that will regularly retrieve and update presence and status information. If you’ve ever watched a contact’s status change in near real time from available to busy or away, you’ve witnessed this. This presence information is stored in the SQL databases associated with your Front End. When you unnecessarily multiply this constant updating of presence by loading up contacts, there can be performance implications.
To this end, Microsoft has limited the total number of contacts and groups that can be added to the client. The default maximum contacts for the on-premises server is set to 250 and can be seen by running Get-CsUserServicesConfiguration and reviewing the MaxContacts property.
The MaxContacts value can be increased using “Set-CsUserServicesConfiguration -MaxContacts” but only to a maximum of 1000. Online, I do not believe this can currently be changed as of the writing of this post.
Let’s say we ignore this, and increase this number. By default, if more than 200 users have a user in their contact list, some may see the dreaded “Maximum Followers Reached” message described here: http://support.microsoft.com/en-us/kb/2795173. This happens because too many people are requesting a user’s status. Like the rest, this value too can be modified to an extent, however the hope is that you’ll see the reasoning not too.
If you’re still dead set on pre-adding contacts for your users, the following utilities may be of assistance. Please let me know if you’ve found another one you particularly like and I’ll add it below begrudgingly 🙂