We have the OOB MIM Galsync MA which is great tool and comes fully customized specifically just for galsync. It also has the VB.net extension code for provisioning and custom MA. For those of us from the MIIS era, it’s a Christmas cake! But perhaps you don’t like extension code or you have been swept off by the “ease” of the sync rules and do not want to see any custom code, the question then is if there is a way to do galsync with sync rules? There is and I will show you. For a relatively straight forward galsync use case it should work.
Use Case
Two exchange orgs are exchanging their GAL via flat file, it could be due to legal reasons, they cannot connect to each other’s MA directly. OrgA sends a file to OrgB. There are no existing OrgA contacts in OrgB’s AD. The structure of OrgA’s file is simply
Firstname,lastname,email,phone
OrgB will import this file into the MV and use AD Domain service connector to export to AD. Here are the rules for OrgB
- Mailnickname will be OrgA email minus the “@”
- DisplayName will be “FN LN (OrgA)”
- LegacyExchangeDN will be Exchange Org DN + mailnickname [So that it X500 is always the same for that email]
Solution
- Create a MIM MA to connect to the Portal
- Go the MV designer, create an object called contact_orgA and select the following attributes
displayName
targetAddress
Mail
Mailnickname
Sn
telephoneNumber
givenName
- Go to Management Agents and create a new Delimited File MA. Select the OrgA file
- Create a new AD Domain Services MA. Point to the OrgB forest. Select OU for the contacts, select Contact object. Select the following AD attributes
displayName
targetAddress
Mail
Mailnickname
Sn
telephoneNumber
givenName
legacyexchangeDN
proxyaddress
- Set Deprov rule on disconnect to “stage a delete on next export”. On extension page select “Provisioning” and Exchange 2010 and http://exchangecasserver/powershell
Go to the Portal,
- Set up sync rule “OrgA Inbound”.
- Set a relationship: OrgA.email = MV.mail
- Set to create FIM object
- Set the following attribute flows
- Set up sync rule “OrgB Galsync AD Outbound”.
- Select use scope filter
- Set a scope: TargetAddress NOTEQUAL blank
- Set to create connected object
- Set the following attribute flows
Go to the Sync Engine
- Import the sync rules via the MIM MA
- Run Full Import on the OrgB Gal MA and OrgA Flat file MA
- Run Full Sync to process the rules
- Make sure the Exchange server is not stamping Contacts (see this)
- Run Export to create the mail contacts in OrgB