c# - FIM disconnect deprovision and new connector -
hi posted question yesterday. however, i'm trying find if following can done using fim.
i'm importing user objects ad , exporting sql table. here sql table design.
create table [dbo].[tbl_fgpp_members]( [memberobjectguid] [varbinary](50) null, [memberdn] [nvarchar](255) not null, [memberobjecttype] [nvarchar](10) not null, [member_addomain] [nvarchar](16) null, [member_samaccountname] [nvarchar](64) null ) on [primary]
i'm importing ad user objects mv:person , below flow rules.
i've got stuff working far. i'm trying when rename happens in ad (like user's distinguishedname changes, if moved or cn value changes) fim delete sql record , recreate new 1 new distinguishedname value memberdn column.
is possible this? in metaverse provisioning code, have following:
void imvsynchronization.provision (mventry mventry) { connectedma sqlanchorrenameuser; string mvobjecttype = null; switch (mventry.objecttype) { case "sqlanchorrenameuser": sqlanchorrenameuser = mventry.connectedmas["sql anchor rename sqlma"]; if (sqlanchorrenameuser.connectors.count == 0) { createanchorrenamesqluser(mventry, sqlanchorrenameuser); } if (sqlanchorrenameuser.connectors.count == 1) { updateanchorrenamesqluser(mventry, sqlanchorrenameuser); } }} void createanchorrenamesqluser(mventry mventry, connectedma sqlanchorrenameuser) { csentry csentry; csentry = sqlanchorrenameuser.connectors.startnewconnector("anchorrenameuser"); csentry["distinguishedname"].value = mventry["addistinguishedname"].value; try { csentry.commitnewconnector(); } catch (system.exception ex) { throw new unexpecteddataexception(ex.message); } } void updateanchorrenamesqluser(mventry mventry, connectedma sqlanchorrenameuser) { csentry csentry; referencevalue dn; csentry = sqlanchorrenameuser.connectors.byindex[0]; dn = sqlanchorrenameuser.escapedncomponent(mventry["addistinguishedname"].value); // check see if distinguishedname flowing ad has changed... if (mventry["addistinguishedname"].value.tolower() != mventry["isrenamed"].value.tolower()) { // disconnect old object. csentry.deprovision(); //now provision new connector createanchorrenamesqluser(mventry, sqlanchorrenameuser); } }
but throws errors. not working :(
can done fim sql ? seems have read on internet fim not allow renaming anchor sql. other thing people have recommended delete record , recreate in sql. work me i'm struggling configure fim it. please help.
thank you. gt
Comments
Post a Comment