We are currently using SharePoint 2010 and are potentially looking at SharePoint 2013 for an upcoming project.

We have information about 'users' (employees) in a bunch of systems: Active Directory, various HR systems, expertise systems etc that we're looking to tie together.

The full FIM product (or any other off the shelf identity management product) is not an option - the costs are prohibitive.

The Problem

What we're looking to do is to try and establish a service that can:

  1. Bring together user profile data from a number of different systems

  2. Based on a set of rules, match a user identity in one system with a user identity in another system where there isn't necessarily a shared identifier between the two. For example, match based on a set of attributes - if date of birth, name and email match then it's likely it's the two records are describing the same person.

If I understand correctly, the FIM engine powers the User Profile service and whilst it seems obvious that you can do (1), we're less certain about (2).

Is the UPS a good solution for what we're looking to do?

Can anyone point out some documentation, code examples or some real world experiences as to how you'd get in amongst the user profile service / FIM stuff and achieve what we're looking to do?

2 Answers 2


FIM used in this way would not be supported. It would also likely violate the license terms, as this is what the full-fledged FIM product is for. Also take a look at the full fledged FIM product -- certain types of uses only require the Server CAL (~$15K), such as Directory Sync, other uses, such as self-service require a per-User CAL + Server CAL.

  • Thanks for your reply - can you give some more detail on why it would not be supported? I'm guessing you can plug in different data sources using BCS and I've seen articles suggesting you can match by some kind of shared identifier. Is there no ability to write custom providers for the UPS to use when it does the correlation?
    – Yaron
    Oct 29, 2012 at 16:50
  • Yes, you can use BCS to update an object from AD with other providers. If there is a shared identifier between these objects, you could potentially leverage that. However, it is unsupported to make modifications to FIM directly or inject your own FIM extension/MA via miisclient.
    – user6024
    Oct 29, 2012 at 17:08
  • Forgive my ignorance but is making modifications to FIM directly the only way of customizing the logic the UPS uses to join two sets of data? I'm not familiar with UPS or FIM really and am just trying to scope out potential solutions given that we already have SharePoint. I suppose I'm trying to get a feel for what the UPS offers as an application layer on top of FIM in SharePoint and how far you can take it before you have to start thinking of solutions elsewhere. Again - thanks for your time.
    – Yaron
    Oct 29, 2012 at 17:26
  • To further elaborate, I saw this blog post - c-sharpcorner.com/uploadfile/anavijai/… - which shows how you can do a 1-1 mapping using some kind of key. I was wondering if you can create some kind of custom mapping and offer that up?
    – Yaron
    Oct 29, 2012 at 18:02
  • You can use BCS to supplement Active Directory profiles.
    – user6024
    Oct 29, 2012 at 18:07

Based on your description, it might make sense to custom build a SQL table with a small rules based engine for your matching algorithms and then switch SharePoint to FBA. That would allow you to homogenize the data and set up a standard set of columns that you could feed into the UPS.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.