FIM MA Connectors.Count always 1
Hi All,I am trying to provision (using classic provisioning code for reasons I'll not go in to right now) users, groups and OUs in to FIM from AD using the FIM MA (this is in FIM2010).I have got the data in from AD no problem, but when I do a Full Sync I do the following in my provisioning code (which is all pretty standard) if (FIM_MA_Provision) { ConnectedMA fimMA = mventry.ConnectedMAs[FIM_MA_Name]; if (fimMA.Connectors.Count == 0) { csentry = fimMA.Connectors.StartNewConnector("organizationalUnit"); csentry.DN = fimMA.EscapeDNComponent(mventry["distinguishedName"].Value); csentry["internalId"].Value = Guid.NewGuid().ToString(); csentry["oUType"].Value = "Directorate"; csentry.CommitNewConnector(); } } and fimMA.Connectors.Count is always equal to 1 even though this is the first time I've tried to connect.If I check the metaverse before running the sync it happily reports only a single connector to AD, yet the count in code is always 1. Since I need to set some data in order to get the Export to FIM working, I'm stuck! Or at least I could try in a rules extension but that is unlikely to help in this case.If I change it to use Connectors.Count == 1 and then get back the connector, it tells me that the attributes are read only when I try to set them.What gives!Any help gratefully received...Thanks,Martin
February 13th, 2010 10:33pm

Let me just further add, I can't do it by rules extension because the FIM MA doesn't seem to allow rules extensions or constants (basically advanced stuff) for EAF...!HELP!
Free Windows Admin Tool Kit Click here and download it now
February 13th, 2010 10:36pm

Declarative provisioning rules are always processed before the non-declarative counterpart.To get to the point where your provisioning code is processed, an inbound synchroization rule that has Create Resource in FIM selected must have been processed. The flag already provisions the object into the FIM CS.This is why your counter is as expected always 1. In other words, a counter of 0 would actually indicate an error.Cheers,MarkusMarkus Vilcinskas, Knowledge Engineer, Microsoft Corporation
February 13th, 2010 11:14pm

You shouldn't have a need for advanced EAF rules in case of the FIM MA since the FIM CS is supposed to be a mirror of the metaverse.If you run into a scenario that looks like a need for an advanced EAF on the FIM MA, you should update your inbound synchronization rules.Cheers,MarkusMarkus Vilcinskas, Knowledge Engineer, Microsoft Corporation
Free Windows Admin Tool Kit Click here and download it now
February 13th, 2010 11:17pm

Markus, Thanks for the response, but unfortunately I think I need to be able to do it the way I suggest. By the way, I have no declarative rules whatsoever, so... When pushing stuff in to FIM for this once only export I need to set up lots of references to objects that simply won't have been setup yet. For instance my organizationalUnit object in FIM has a mandatory parent attribute that refers (not surprisingly) to the parent object in AD (we have a root container for the top level so this always works). This is stored as a reference in FIM, so I have no way that I know of (but then I'm a bit of a newb) getting that reference value before I've even synchronized in to the MV as the reference will not have been set up. I had hoped I could do a normal Connectors.Count == 0 and then test for the existence of the parent attribute before provisioning the organizationalUnit object, with this parent attribute fed by a view on the metaverse fed by a SQL MA. This is such a tried and tested method of doing things everywhere else in the product I'm surprised and dismayed there is not a way of doing this with the FIM MA, seems like a backwards step to me as the product is now more rigid, NOT more flexible. Guess I'll have to do this all in code then and completely bypass the sync engine...? Thanks, Martin
February 14th, 2010 12:04pm

I stand partially corrected....Partially means, that the idea of the FIM MA connector space is to function as a mirror of the metaverse.I have verified your scenario and found that a non-declarative projection does in deed cause an automated provisioning to the FIM MA CS.I have also verified with the owner of the component that this is the intended the intended behavior.If this is not what you have expected, pleasee file a bug on connect.Cheers,Markus Markus Vilcinskas, Knowledge Engineer, Microsoft Corporation
Free Windows Admin Tool Kit Click here and download it now
February 15th, 2010 1:18am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics