Detecting / Avoiding Duplicate email addresses on your HUB (Master) UnitySync directory
Created: 2018-12-19 11:28:31Modified: 2018-12-19 11:58:39
Tags: Active Directory Errors Master/Spoke Troubleshooting UnitySync
With multiple connections feeding a single Hub, it may happen that two different source ADs have the same email address for a user or contact (mail or proxyaddresses). If each of these source ADs sync into the hub, duplicate objects may be created on the HUB.
Stop Dupes before they occur on the HUB:
To avoid dupes from occurring on your HUB, all syncs INTO the hub should be connections with Create/JOIN and ‘Reject on Match’ enabled. With incoming Connections running as Create/Join, only one instance of a particular mail/proxyaddress will sync into the HUB. Others will throw a ‘Join Match’ warning and that source object will NOT sync. To identify instances of ‘Join Match occuring in your connections, view or search your Spoke-to-Hub Sync logs for instances of 'Join Match’.
If you think you already have duplicate email addresses on your HUB source:
UnitySync can not purposefully delete or clean up duplicates on your hub. However, you can use a specially configured connection determine/identify duplicates on your HUB using a circular JOIN connection.
The result of this process is intended as information only in order to help you determine where duplicates are coming from and help develop a plan to get rid of and/or avoid duplicates.
Create a new AD to AD connection.
Set the source/Dest with the IP/Login of the SAME (hub) directory.
On the Dest tab:
– Select JOIN only
– Set Modify Attribs to ‘DoNothing’
– Set User and Contact Query to
(|(mail=^mail^)(proxyaddresses=[proxyaddresses]))On the General tab, set Log Level 3 and click Save.
Run Discovery
Run SIMULATION and review the Sim log.
This Simulation log will be very large. You’ll need an editor that can open it and/or a parsing program to look for key text.
The following is an example of an entry showing the instance of duplicates. Both of the objects indicated by ‘Multiple Match’ returned an identical email address. This indicates an instance of two (or more) objects on the Hub having the same email address.
Join query indicates the addresses in the Source object.
Join Query | (|(mail=kristine@acme.com)(proxyaddresses=SMTP:kristine@acme.com)(proxyaddresses=smtp:ksmith@acme.com))
Join Search Multiple Match
Multiple Match CN=kristine@acme.com,ou=London,OU=GAL,DC=2k16,DC=test
Multiple Match CN=ksmith@acme.com,ou=Redwood,OU=GAL,DC=2k16,DC=test
In the above example, it’s not immediately obvious (based on the DNs), but you can infer that there is an overlap with one of the source email addresses appearing in both of the two destination contacts.
Other KB articles provide more examples of using findstr
https://www.dirwiz.com/kb/3003
https://www.dirwiz.com/kb/3118