Skype for Business/Lync client: Can’t move user to the Other Contacts group

By | September 2, 2015

While working with a client on end user training material, it was reported that the option to move or copy a contact to the “Other Contacts” group in the Skype for Business/Lync 2013 client was unavailable.

muoc-01

Digging deeper… I found that although the option to “Copy Contact To” was available for a contact within the “Other Contacts” group, it would just perform the “Move Contact To” function.

muoc-02

Testing with my own account, I found that move and copy a contact to “Other Contacts” was available and worked. Also copying a contact already in “Other Contacts” to another group did a copy vs. move like seen before.

muoc-03

Then it dawned on me that the working account was using the Unified Contact Store (UCS) and the issue account was not. Same results were seen using different builds of the Skype for Business/Lync 2013 & 2010 clients. Figuring this would be a perfect issue to play with the Lync Client SDK: http://www.microsoft.com/en-ca/download/details.aspx?id=36824

The following code was used to quickly load the SDK dll into PowerShell, prompt for the SIP address of the contact you would like to add into the “Other Contacts” group.

$sdkPath = "C:\temp\Microsoft.Lync.Model.DLL"
Import-Module $sdkPath

# Obtain the entry point to the Lync.Model API
$client = [Microsoft.Lync.Model.LyncClient]::GetClient()
$self = $client.Self		
$Contact = Read-Host -Prompt 'SIP address of contact to copy to Other Contacts group'

$contactobj = $self.Contact.ContactManager.GetContactByUri($Contact)
# $contactobj
$Groups = $self.Contact.ContactManager.Groups

	foreach ($Group in $Groups) {
		if($Group.Type -eq "CustomGroup"){
			if ($Group.Name -eq "Other Contacts"){
				if($group.Contains($contactobj) -eq $false){
					$Group.BeginAddContact($contactobj,$null,$null)
				}
			}
		}
	}

This worked great for the UCS account but gave an “Access is denied” error on the non-UCS account.

muoc-04

Listing the contact groups ($Groups |Fl) for the non-UCS account, I found the contacts not in the “Other Contacts” group still showed “Other Contacts” in the list of CustomGroups.

muoc-05

I then tried using the “Move to Group” function on the non-UCS account and it worked…

#$Group[0] is Other Contacts group
#$Group[1] is Test group
#$Group[2] is AOG group
$contactobj.BeginMoveToGroup($Groups[0], $Groups[2], $null, $null)

muoc-06

Which was great until the contact was in more than one contact group.

muoc-07

In the end I just ended up removing the contact object from all groups and just re-added to the “Other Contacts”.

$self.Contact.ContactManager.BeginRemoveContactfromallgroups($contactobj, $null, $null)
$Groups[0].beginAddContact($contactobj,$null,$null)

muoc-08

The question: Is not being able to move or copy contacts into the “Other Contacts” a bug when not using UCS? Or the ability to use Other Contacts like any other custom group a bug in UCS?

4 thoughts on “Skype for Business/Lync client: Can’t move user to the Other Contacts group

  1. soder

    Ping Microsoft. Thanks to the API-paradigm MS invented 20 years ago, nobody else can answer any non-trivial question apart from the vendor itself. All of us give a big thank you to MSFT!

    Reply
  2. Ram

    Hey, guys. Sorry for digging up an old thread. My current workaround though is to add the contact to ‘Favorites’ first, remove him/her from the current group, then also remove him/her from the ‘Favorites.’ This will, by default, place him/her in the ‘Other Contacts.’

    Reply
  3. Shelly

    @Ram – Thank you!!! I’m been trying to organize my contacts list for ages, and yours is the only suggestion that worked.

    Reply
  4. Pingback: Invoke-SFBContacts |

Leave a Comment