All of the configurations for ADAMSync are stored in xml files.

Default configuration file with comments

There is a default configuration file called MS-AdamSyncConf.xml included with the ADAMSync install. Make a copy of this file so you have a base example to refer to in the future. This example is the default configuration file with comments added.
<?xml version="1.0"?>
<doc>	
 <configuration>		
<!-- Sync File Description --> 
<description>MyCompany ADAMSync Configuration</description>		
  <security-mode>object</security-mode>;	        
<!-- source-ad-name = fqdn of the domain controller -->;
  <source-ad-name>;fully.qualified.domain.name.of.domain.controller</source-ad-name>;		
<!-- source-ad-partition = root AD domain partition -->;
  <source-ad-partition>;dc=myCompany,dc=com</source-ad-partition>;
<!-- source-ad-account = use this to specify an account to connect to AD -->;
<!-- if not used, the current user will be used  -->;
  <source-ad-account>;</source-ad-account>;                
  <account-domain>;</account-domain>;
<!-- target-dn = target ADAM OU -->;
  <target-dn>;ou=servicenow users,dc=myCompany,dc=adam</target-dn>;		
  <query>;			
<!-- base-dn = should be the root AD partition if you want all users -->;
   <base-dn>;dc=myCompany,dc=com</base-dn>;
<!-- object-filter = standard ldap query format, this will grab all users -->;
<!-- need to review results to see if you should modify this filter -->;
   <object-filter>;(objectCategory=person)</object-filter>;			
   <attributes>;			
<!-- include=userproxy requires objectSID to link back to the AD account -->;	
    <include>;objectSID</include>;
    <include>;givenName</include>;
    <include>;sn</include>;
    <include>;description</include>;
    <include>;title</include>;
    <include>;company</include>;
    <include>;department</include>;
    <include>;mail</include>;
    <include>;physicalDeliveryOfficeName</include>;
    <include>;telephoneNumber</include>;
    <include>;sAMAccountName</include>;
   </attributes>;		
  </query>;	
<!-- map for user-to-userproxy object types -->;
  <user-proxy>;
    <source-object-class>;user</source-object-class>;
    <target-object-class>;userProxy</target-object-class>;
  </user-proxy>; 
  <schedule>;			
   <aging>;				
    <frequency>;0</frequency>;				
    <num-objects>;0</num-objects>;			
   </aging>;			
   <schtasks-cmd>;</schtasks-cmd>;		
  </schedule>;	
 </configuration>;	
 <synchronizer-state>;		
  <dirsync-cookie>;</dirsync-cookie>;		
  <status>;</status>;		
  <authoritative-adam-instance>;</authoritative-adam-instance>;		
  <configuration-file-guid>;</configuration-file-guid>;		
  <last-sync-attempt-time>;</last-sync-attempt-time>;		
  <last-sync-success-time>;</last-sync-success-time>;		
  <last-sync-error-time>;</last-sync-error-time>;		
  <last-sync-error-string>;</last-sync-error-string>;		
  <consecutive-sync-failures>;</consecutive-sync-failures>;		
  <user-credentials>;</user-credentials>;		
  <runs-since-last-object-update>;</runs-since-last-object-update>;		
  <runs-since-last-full-sync>;</runs-since-last-full-sync>;	
 </synchronizer-state>;
</doc>;

LDAP filters configuration file

You can provide any level of filtering in the object-filter value in the configuration file. Use standard LDAP query syntax with the following xml escape characters in place of the standard operators.
  • AND = "&" replace with &#38;
  • OR = "|" (vertical line) replace with &#124;
  • NOT = "!" replace with &#33;

Reference configuration file

Here's an actual configuration file that can be referenced as a sample.
<?xml version="1.0"?>;
<doc>;	
 <configuration>;		
<description>;SNCTest ADAMSync Configuration</description>;		
  <security-mode>;object</security-mode>;	        
  <source-ad-name>;domaincontroller.service-now.com</source-ad-name>;		
  <source-ad-partition>;dc=service-now,dc=com</source-ad-partition>;
  <source-ad-account>;</source-ad-account>;                
  <account-domain>;</account-domain>;
  <target-dn>;ou=servicenow users,dc=service-now,dc=adam</target-dn>;		
  <query>;			
   <base-dn>;dc=service-now,dc=com</base-dn>;
   <object-filter>;(objectCategory=person)</object-filter>;			
   <attributes>;			
    <include>;objectSID</include>;
    <include>;givenName</include>;
    <include>;sn</include>;
    <include>;description</include>;
    <include>;title</include>;
    <include>;company</include>;
    <include>;department</include>;
    <include>;mail</include>;
    <include>;physicalDeliveryOfficeName</include>;
    <include>;telephoneNumber</include>;
    <include>;userAccountControl</include>;
   </attributes>;		
  </query>;	
  <user-proxy>;
    <source-object-class>;user</source-object-class>;
    <target-object-class>;userProxy</target-object-class>;
  </user-proxy>; 
  <schedule>;			
   <aging>;				
    <frequency>;0</frequency>;				
    <num-objects>;0</num-objects>;			
   </aging>;			
   <schtasks-cmd>;</schtasks-cmd>;		
  </schedule>;	
 </configuration>;	
 <synchronizer-state>;		
  <dirsync-cookie>;</dirsync-cookie>;		
  <status>;</status>;		
  <authoritative-adam-instance>;</authoritative-adam-instance>;		
  <configuration-file-guid>;</configuration-file-guid>;		
  <last-sync-attempt-time>;</last-sync-attempt-time>;		
  <last-sync-success-time>;</last-sync-success-time>;		
  <last-sync-error-time>;</last-sync-error-time>;		
  <last-sync-error-string>;</last-sync-error-string>;		
  <consecutive-sync-failures>;</consecutive-sync-failures>;		
  <user-credentials>;</user-credentials>;		
  <runs-since-last-object-update>;</runs-since-last-object-update>;		
  <runs-since-last-full-sync>;</runs-since-last-full-sync>;	
 </synchronizer-state>;
</doc>;