MachPanel ADSync module is the directory synchronization tool that consolidates one Active Directory with another. It performs one-way synchronization and keeps your cloud user accounts updated.
This article provides you information regarding the configuration of ADSync.
Applies to ADSync 4.2 and 4.3.
- ADSync latest version is 4.3.
- Latest MachPanel Build v6.3.12 supports latest ADSync v4.3.
You need following information:
- You have to Enable ADSync from MachPanel before configuring your ADSync at the local Active Directory.
- Navigate to the following path: Home » Service Director » Active Directory » Active Directory Organizations
- Click on Enable ADsync link as shown in the snapshot below:
- Service Username and Service Password i.e. Login Name and Password to Access the Control Panel customer account who is owner of Hosted Organization which needs to be synced with Client-AD. This can either be a Customer Account or a Contact of Customer in control panel.
Yes, it is required to Reboot ALL Client Domain Controllers (Primary and Additional) at least once where ADSync tool is installed.
- MachPanel Service URL should be accessible from Client-AD.
ADSync is a utility consisting of multiple components used to
synchronize local active directory objects with Hosted/Cloud Active
Directory objects. ADSync utility v4.2 will sync Multiple OU's in a client\local AD with Hosted OU.
Types of object(s) which are currently synchronized.
The data fields which are being synchronized through this utility for User Accounts are:
- proxyAddresses ‘[EUM addresses Only]’
The data fields which are being synchronized through this utility for Groups are:
- Display Name
MachSol ADSync utility is a one way synchronization tool, that enables the synchronization of AD users from local/on-premises to the hosted/cloud AD and vice versa is not currently possible. Editing through MachPanel is disabled for a mailbox enabled for ADSync.
The reason to disable the AD user editing in MachPanel for those organizations which are selected to be synchronized with on-premises ADs is that the information updated on MachPanel shall not be available on client’s on-premises AD. And also as ADSyncSvc periodically updates data from local to hosted AD, the changes done through MachPanel will be voided with the synchronization process.
When installation finishes on Primary Domain Controller, ADSync Configuration Studio appears, fill form according to instructions below and save settings.
Terms used to reference ADs are as under: Please note the difference between Two AD’s:
- Local-AD / Client-AD / On-Premises: This is the AD where you have installed MachPanel ADSync Utility. Once ADSync is enabled you can access this local AD and modify user properties on this AD. These changes will automatically replicate/sync with the Provider’s AD (hosted AD).
- Provider AD / Hosted AD / Cloud AD: This is the AD that is managed directly by MachPanel Control Server via MachPanel Remote Servers.
Fields of the above screen are described below:
- Web Service Url: This is the URL to Control Panel Web Service (provided
by host). This can be a Web or IP based address. Check "Tooltip" next to input field for example.
- Admin Login: Local-AD administrator account with permissions to perform local operations.
- Admin Password: Password for local-ad admin user provided in above field.
- Domain NetBios name: Local-AD domain NetBios name input field.
- Sync Interval: You can specify Sync interval or use Sync Now option.
- Enable Logging: Enable/Disable logging. Simple check/uncheck input to whether to enable logging or not.
- Log Folder: This is Log Path. Select log folder to create log files in there if logging is required. The log folder path of ADSync logs should not be of PDC desktop, and the provided log path should also be present on all ADC.
- Service User Name: Login Name to access the customer account in MachPanel in format: firstname.lastname@example.org. This is owner of
Hosted Organization which needs to be synced with Client-AD. This can
either be a Customer Account or a Contact of Customer. (In
ADSync we need Customer credentials not Reseller/Provider credentials
to fetch list of OU’s. List of all OU’s related to Customer are fetched.)
- Service Password: Password for user login provided in service user name.
- Hosted Organization: Once above service credentials are
provided then hosted organizations enabled for ADSync are listed in the selection input box, select one of the organizations to
synchronize its contents. Only the organization(s) owned by single
customer (whose credentials are provided) are shown.
- Local OU LDAP: Input field to set Local-AD/On-Premises
organization LDAP, or use “select local organization” option to list all
local organizations and select one of the organizations. This field is editable so you can even specify the ROOT so that ALL USERS under this AD get listed all at once. You can specify the ROOT if users are under different OUs and you want to list all of them in a single go. In case of large ADs it is recommended to use specific OUs only to keep this quick as it will take long time to load all users in case of large ADs.
- Sync Security Groups: In order to Sync security Groups from MachPanel for ADSync Enabled organization check option Sync Security Groups.
- Enable Auto Mapping: Enable/Disable Auto Mapping of all Existing users. This option enables the customer that all the existing users will be auto mapped to selected hosted organization on the basis of UPN and DisplayName respectively.
- Auto Create New User: Allows you to enable / disable auto creation of Local-AD user on the Hosted AD. This option enables the customer that any new user created in local OU for this profile will be automatically created on hosted.
- Add Profile: Adds a profile to the below profiles listing and is saved in configuration file on pressing the Save button on the configuration screen.
- User custom filter: Define a filter for Users.
- Group custom filter: Define a custom filter for security groups.
Click Save to save all settings.
Add Custom Filters
In "Custom Filter" for user and groups we need to specify sync group and sync user in the group and users description (Any attribute can be used). Below are examples to use Custom Filter for Users and Group which uses "sync user" and "sync group" description. In below snapshot UserA, UserB, UserC, GroupA and GroupB, GroupC are created in Active Directory.
In this example we have specified "sync user" and "sync group" description in custom filter and as a result UserA, UserB and GroupA and GroupB (which have description set accordingly) will get synced. See below snapshots:
Users custom filter: (description=sync user)
Groups custom filter: (description=sync group)
When we specify below custom filter settings in sync group and sync user description that we need not to sync (any number of attributes can be used) for e.g.
- Specify something in company for users that I don’t want to sync
- Specify something in display name for groups that I don’t want to sync
only UserA and GroupA will get synced as shown below:
Users custom filter: (&(description=sync user)(!(company=*)))
Groups custom filter: (&(description=sync group)(!(displayName=*)))
Right click on the selected user and select Configure Mapping to map the users. See the snapshot below:
Enable ADSync for the Hosted Organization in MachPanel. Choose Users from interface below to enable ADSync for users in the parent container i.e: OU selected in profile.
- Click Options > User Mappings to choose mapping between Hosted and Local User, click check-box to enable sync for selected users.
- For users which exist in Local domain but have no counterparts on the hosted AD, you can "Enable Sync" and then auto create them in Hosted platform by choosing "--Create New--".
- ADSync needs to be installed on Primary and all Additional Domain Controllers.
- After installation on all Additional Domain Controllers, configure basic information in ADSync Tool on Primary ADSync Server, then copy SyncConfigurations.xml from installation folder on Primary Domain Controller to each Additional Domain Controller. Registry on both types of servers will tell you correct location for configuration file. For old clients the path will be C:\Windows\System32 folder, and for new clients the path to place this file will be C:\Program Files\ADSync. You can confirm/fix the Registry for correct location of SyncConfigurations.xml.
- Make sure “Password must meet Complexity Requirements” is Enabled in Local domain policy. Describe any symptoms for a particular problem.
- To start ADSync to function you need to force all
users to change password on On-Premises (Local/Client) AD, please do expire all
user passwords and restart all domain controllers.
Below is a step by step process how shall this utility be operated.
- Save Basic configurations in utility on Primary DC.
- Copy SyncConfigurations.xml file from
PDC installation folder to all ADC(s) to appropriate folder. Registry on
both types of servers will tell you correct location for configuration
file. For old clients the path will be C:\Windows\System32 folder, and
for new clients the path to place this file will be C:\Program
Files\ADSync. You can confirm/fix the Registry for correct location of
- Provide On-Premises to Hosted user mapping using the ADSync config studio.
- After providing the mapping, modify the On-Premises Active Directory user account information (Including password). ADSIEdit is not supported, other than that, all other mechanisms (OWA, or Exchange, Locked screen of desktop etc.) are supported. Change in password via any medium (except ADSIEdit.msc) is captured. Only thing to note is that all the Domain Controllers should have the ADSync module installed on them (one primary and others as secondary) so that the password change actioned by any of the domain controllers gets captured.
- To force the sync process to start immediately, Press Click to Sync Now
from ADSync Configuration tool, or simply restart the ADSyncSvc using
Services.MSC (Windows Services Manager) on PDC.
- This shall update the information to the control server.
- From there, control server uses its Provisioning Service to
update the data on associated backend Hosted active directory server.
You can also force the control server to process records instantly by
restarting provisioning service on control panel server.
- You can set Time in "Sync Interval" to start sync or Click to Sync now to force an immediate sync.
This should update the On-Premises active directory user information to the Hosted active directory user.
In case of any issues, you should Enable Logging from configuration
studio of ADSync Tool and review that for any problems. Similar logs
need to be review on MachPanel Control Server to see if there is any
issue in processing of ADSync related data. You can also send the log
files generated from inside the selected folder to us for review.
Let’s assume Hosted AD having the following user.
- User.email@example.com Display Name:Gorge John
And local AD having the following Users.
- User.firstname.lastname@example.org Display Name: Gorge John
#3 from LiveAD will be matched with #1 on LocalAD based on Display Name
#1 from Live AD will be matched with #2 of LocalAD based on UPN
It is recommended that for SSO (Same Sign On) the UPN should be fully matched in both LocalAD and LiveAD.
ADSync is a separate module and costs may apply. Kindly contact sales
for further information.
Detailed troubleshooting notes are available here:
1. Ensure logging is enabled in ADSync Client Configuration Screen. In
case of any issues, you should Enable Logging from configuration studio
of ADSync Tool and review that for any problems. Similar logs need to
be review on MachPanel Control Server to see if there is any issue in
processing of ADSync related data. You can also send the log files
generated from inside the selected folder to us for review.
2. Check to confirm if “ADSyncPolicy, ADSync.ClientHelper, ADSync.PolicyLogger” dll files exist in “$windir\System32” folder.
3. Ensure the client enabled “Password Must meet complexity requirements” in user account policy after completing configuration of ADSync and restarted and ADs.
4. Ensure that there exist an entry for “ADSyncPolicy” in [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages]
5. Ensure that ADSync utility is installed on Primary Domain Controller and all Additional Domain Controllers.
6. See if "Password Intercept Log" is being generated/updated for each password update on C:\ drive on any/all of the ADs if client is using “ADSiEdit.msc” to change the password.
7. See if "Password Intercept Log" is being generated/updated for each password update on C:\ drive on any/all of the ADs if client using “DSA.msc” to change the password.
8. See if ADSync is working fine for all the attributes other than password.
9. Ensure that user provided in ADSync Config Studio for “Local Admin” field has sufficient permissions in local AD (Should be Member of: Administrators, Domain Admins, Domain Users, Enterprise Admins, Organization Management. Check reference below).
10. Ensure the Operating user of ADSync Utility (User logged in with while configuring ADSync) has read/write permissions on installation directory and the directory specified for logging.
11. Ensure LDAP URL is correct.
12. The "Admin User" specified in ADsync should be member of following. See snapshot below (Schema Admin is optional):
Security and Password Policy:
Please note that password policy shall remain consistent between source (client) AD and Hosted (Cloud) AD, meaning that both ADs should have similar password policies. Best to have Complex Password Policy. Also there is no need to select the ‘reversible password’ option in source (client) AD for syncing password.
Password for a user account is secured by modern encryption schemes and is stored in a secured place.
To make communication even more secure, one must apply/enable SSL certificate for MachPanel Control Panel website and use the ADSync Web Service address as https:// (like https://cp.providerdomain.com/webservices/Adsyncsvc.asmx)
Running a test case:
Create an AD user in local/client/On-Premises AD under one of the configured Sync Profile.
- Open ADSync Configuration Studio and provide mapping for this newly created user (you can use ‘Create New’ option) or if you have enabled ‘Auto Create New user’ option for the selected Sync Profile then leave this step.
- Restart ADSync-Svc on local/client/On-Premises AD machine
- Now get to hosted MachPanel Control server
- Open the database and check ‘Hb_tblTempData’ table, whether it has a pending entry in it or not ?
- If there are pending records in ‘Hb_TblTempData’ then restart Provisioning-Svc on Control server
- Check in MachPanel whether the user is created on hosted or not. You can use following navigation path. Home > Service Director > Active Directory > Users
- Also you can check the Audit logs in the MachPanel interface for sync process. (for filtering select ‘ADSync’ in event groups and press search button)