Cookie CSS

Showing posts with label LDAP. Show all posts
Showing posts with label LDAP. Show all posts

Saturday, May 28, 2016

Syncing Active Directory Departments to Skype for Business Groups - Part IV

Today we wrap up this series.  Our tool, which can be used to create a Skype for Business group from any AD Department is now available here.

https://gallery.technet.microsoft.com/office/AD-Department-to-Skype-for-2a95b578

The last piece of the programming puzzle is to create a Skype for Business group using the Lync client sdk, then add users to it.

Step 1

We need to use the SDK to get a contact object from the users AD info.

                    string uri = result.Properties["msRTCSIP-PrimaryUserAddress"][0].ToString();
                    Contact c = lc.ContactManager.GetContactByUri(uri);

You will notice is the code last week, when we do this, if they don't have a SIP uri, we then try from their email address, and lastly try from their telephone number.  This will at least cover the bases and help us if they are on a different system for voice.

Step 2

 private void createGroup(string name)
        {
            try
            {
                lc.ContactManager.BeginAddGroup(name, myar => 
                {
                    lc.ContactManager.EndAddGroup(myar);
                }, null);
            }
            catch { }
        }

If we don't have a group with that name we need to create one.  The above code will do that for us.

Step 3

We need to find the Group object that matches the name we want.

foreach (Microsoft.Lync.Model.Group.Group g in lc.ContactManager.Groups)
{
if (g.Name == searchname)
     {
//We found our group
}

}

Step 4

Now we need to have a function as we scan through our AD results that lets us add a Contact to a Group.

 private void addToGroup(Group g, Contact c)
        {
            try
            {
                g.BeginAddContact(c, myar => 
                {
                    g.EndAddContact(myar);
                }, null);
            }
            catch
            {
                addToGroup(g, c);
            }
        }

That will wrap us this series.  Thanks for reading, and have a safe Memorial Day weekend.

Doug Routledge, C# Lync, Skype for Business, SQL, Exchange, UC Developer  BridgeOC
Twitter - @droutledge @ndbridge