1

In our corporate environment we need to have the Privacy Mode in Lync 2010 enabled for a specific user group. Unforutnately it's only possible to enable this mode for the whole environment and not for specific users.

The idea is to enable the privacy mode via Lync policy for the whole environment and control the setting on the Clients with our software deployment system. It's possible to choose "I want everyone to be able to see my presence..." and "I want the system administrator to decide". What I'd need is a little client tool preferably written in C# which is able to change that Status option in the Lync 2010 client.

Unfortunately it seems like this is not simply a registry key being set. I found that there is a "PolicyPak" which is able to control this setting through Group Policies. Most likely they're using the LyncSDK to control this setting.

My questions is: Does someone know how to change this setting through the LyncSDK? I've already downloaded it but didn't really know where to start. Maybe someone can point me in the right direction.

jessehouwing
  • 106,458
  • 22
  • 256
  • 341
sevi
  • 460
  • 5
  • 20
  • 2
    This appears to be a tricky setting to change programatically. I'm looking through the SDK now and haven't came across anything promising. In the mean time, check out this link and see if you can leverage some server options: http://policelli.com/blog/archive/2011/03/02/lync-server-2010-policies-and-settings-demystified/ – Cory Aug 03 '15 at 16:39
  • 1
    Specifically "Tag-Level Policies - are settings that can be applied to a single user or to a group of users." – Cory Aug 03 '15 at 16:41
  • 1
    This article seems to extend the previous one: https://technet.microsoft.com/en-us/magazine/hh219341.aspx – Cory Aug 03 '15 at 16:44
  • I've been looking through the SDK docs for a few hours today too but haven't found anything yet. Thanks for the links though, I will talk to our lync infrastructure guy to see if that helps. – sevi Aug 03 '15 at 17:21
  • Unfortunately we cannot use Tag-Level Policies. We need to control this through our software deployment system and set this setting depending on the users decision through a MessageBox with a Yes/No option. – sevi Aug 04 '15 at 09:32
  • I noticed, that that there is a Self.Permissions property which contains AccessPermissions for different AccessLevels. When I change the option from "show my status to all" to "show it to contacts only" the entries in the "Colleague" AccessLevel will be populated with my Lync contacts. If my contact is being shown to all people, they get removed. The Permissions property is read-only though – sevi Aug 04 '15 at 10:37
  • Correct, from my understanding that is basically a list of access levels the contacts are in. You could perhaps loop through each contact and set the access level individually, which should in turn update that list. I think "Default" is the permission for non-contacts" – Cory Aug 04 '15 at 14:36
  • Our organisation has 20k+ employees. Wouldn't it be an overkill to loop through all those contacts each time the Lync package gets installed? – sevi Aug 05 '15 at 08:58
  • Perhaps, but maybe not. I'm starting to think that is what Lync does when you switch between the two options. I started up process manager to see if there is anything I can capture and didn't see anything. Perhaps I will try Fiddler or something to see if it sends a command to the Server. – Cory Aug 05 '15 at 13:57

2 Answers2

0

From the research I've been able to do, I don't see any network traffic sent to the server or registry settings being modified.

This leads me to conclude the client (when setting this) loops through contacts and places them in the appropriate permission group. I'll revisit this post soon with findings and some code for testing purposes.

Cory
  • 1,794
  • 12
  • 21
0

By using the UCMA it is possible to change the PrivacyMode for a user with the BeginUpdatePrivacyPreference method

sevi
  • 460
  • 5
  • 20