<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Adam on Neale&#39;s Corner</title>
        <link>https://enlow.co.uk/categories/adam/</link>
        <description>Recent content in Adam on Neale&#39;s Corner</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <lastBuildDate>Fri, 24 Aug 2012 00:00:00 +0000</lastBuildDate><atom:link href="https://enlow.co.uk/categories/adam/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>adamsync</title>
        <link>https://enlow.co.uk/p/adamsync/</link>
        <pubDate>Fri, 24 Aug 2012 00:00:00 +0000</pubDate>
        
        <guid>https://enlow.co.uk/p/adamsync/</guid>
        <description>&lt;p&gt;Following on from my post about getting ADAM to work with Openfire, using adamsync to pull in information from the source domains was also an interesting experience.&lt;/p&gt;
&lt;p&gt;Adamsync uses an xml file to define what it should pull in, and what it should do with it. There are plenty of references out there to adamsync and the XML file, so I won&amp;rsquo;t go into any general detail.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Groups and Users&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &amp;lsquo;object-filter&amp;rsquo; tag in the file can be used to look for Groups in the same file as is used to sync users. The &amp;lsquo;user-proxy&amp;rsquo; tag is only used for the appropriately specified classes, so groups will just be imported as groups (with all the attributes that you set to include).&lt;/p&gt;
&lt;p&gt;The caveat of this is that the ampersand (at least - I haven&amp;rsquo;t come across any other characters) will need to be encoded ala HTML. So a valid value for object-filter is:&lt;/p&gt;
&lt;p&gt;(|(&amp;amp;(objectCategory=person)(objectClass=user))(objectClass=group))&lt;/p&gt;
&lt;p&gt;This will find users who are persons and groups. Just ensure you include the attributes you want for the group ! (i.e. &amp;lsquo;member&amp;rsquo;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Narrowing the scope / Multiple sources&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &amp;lsquo;base-dn&amp;rsquo; tag can be used more than once - so you can specify more than one OU/Container that your users/groups are saved within to sync with ADAM. This becomes important a bit later in this post ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Universal Groups&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When syncing a Universal Group that contains members outside of the domain in which it resides, the log file for the sync can contain:&lt;/p&gt;
&lt;p&gt;Will not synchronize dn-ref to &lt;guid string&gt;. Target does not exist.&lt;/p&gt;
&lt;p&gt;adamsync cannot find the member outside of the domain and so does not include it in the group. I have no idea how to fix this - I put in a workaround - I create a universal group in the adam instance and have a script that runs on a schedule that will populate it with userProxy objects that have been created in certain OU/Containers within the instance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deleting a user from a source domain&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you delete Â a user from the directory that ADAM is synchronising with, it can haveÂ unforeseenÂ consequences. This &lt;a class=&#34;link&#34; href=&#34;http://social.technet.microsoft.com/Forums/en-US/winserverDS/thread/f3c907ad-65c7-4ca0-be26-2f8d9d127a39/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;thread&lt;/a&gt; led me discover this.&lt;/p&gt;
&lt;p&gt;What I found (so YMMV) is that if a user is deleted from AD then the next time that adamsync runs it will state &amp;ldquo;ldap error occured&amp;rdquo; for that object. If the user is moved to a container that adamsync does not have visibility on then adamsync will delete the user from ADAM. The userProxy object also appears to be deleted from ADAM groups aswell !&lt;/p&gt;
&lt;p&gt;There is a blog entryÂ &lt;a class=&#34;link&#34; href=&#34;http://blogs.technet.com/b/efleis/archive/2006/10/28/change-visibility-in-the-directory-or-lack-there-of-aka-what-s-the-point-of-aging.aspx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt; that mentions that permissions could be given on the deleted objects container - this isn&amp;rsquo;t something I&amp;rsquo;ve tried yet so have no idea if that would work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Error: 317 when running sync&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This I&amp;rsquo;ve had when installing an XML file with adamsync as one user and trying to run it as a user. The only way I&amp;rsquo;ve avoided this is to either:&lt;/p&gt;
&lt;p&gt;a) Log on interactively or b) Run a cmd windowÂ as the user I will be running the /sync or /fs command as.&lt;/p&gt;
&lt;p&gt;If you opt for (b) then you&amp;rsquo;ll need to log on with the profile of the user, so the command to start the cmd window would be:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;runas /profile /user:DOMAIN\user cmd&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;That&amp;rsquo;s it !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This has just been a compilation of my experiences with adamsync and Openfire for 3 domains and 2 forests. It&amp;rsquo;s been reliable and easy to use since setting it up, though I wish the ageing of entries would be better. Hope this helps !&lt;/p&gt;</description>
        </item>
        <item>
        <title>ADAM / LDS</title>
        <link>https://enlow.co.uk/p/adam-/-lds/</link>
        <pubDate>Mon, 30 Jul 2012 00:00:00 +0000</pubDate>
        
        <guid>https://enlow.co.uk/p/adam-/-lds/</guid>
        <description>&lt;p&gt;A recent project has been to configure an ADAM instance to allow Openfire (&lt;a class=&#34;link&#34; href=&#34;http://www.igniterealtime.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;homepage&lt;/a&gt;) to allow users from multiple domains to connect to it. It has been interesting and at times frustrating. I wanted to sync to two domains, both in the same forest and create userProxy objects in the ADAM instance to allow for binding.&lt;/p&gt;
&lt;p&gt;There is a source document for using ADAM with Openfire at this &lt;a class=&#34;link&#34; href=&#34;http://community.igniterealtime.org/docs/DOC-1534&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;link&lt;/a&gt;.Â &lt;/p&gt;
&lt;p&gt;The first thing I tried wasn&amp;rsquo;t ADAM running on Server 2003 - it was Lightweight Directory Services running on Server 2008. This worked for the most part - I set up two domains and my adamsync XML files to sync them to the domainDNS objects that I had created. They synced without any problems. Then I tried to use Openfire with the root partition object and immediately found 0 users.&lt;/p&gt;
&lt;p&gt;The root cause of this issue is that when you create a domainDNS object in LDS, the instanceType attribute has a value of 5 - this indicates it is writeable and at the top of the partition. So by creating two domainDNS objects I had created two additional partitions in my instance and Openfire does not appear to be able to traverse partitions when looking for users.&lt;/p&gt;
&lt;p&gt;Fair enough. I tore the instance down and started again from scratch, thinking &amp;ldquo;I&amp;rsquo;ll just put all the users in the one partition I create&amp;rdquo;. This didn&amp;rsquo;t work either - adamsync in LDS will only sync to the top of a partition, and you can only have one adamsync configuration per partition. So I could sync one domain and nothing else - leaving me in exactly the same situation as I am if I point Openfire to a single domain.&lt;/p&gt;
&lt;p&gt;There was only one thing for it Â - going back to ADAM on Server 2003. This worked ! How come ?&lt;/p&gt;
&lt;p&gt;- domainDNS objects have instanceType set to 4 (writeable) and because they do not have the &amp;ldquo;top of partition&amp;rdquo; bit set, they do not represent a new partition. - adamsync can sync to these domainDNS objects, which aren&amp;rsquo;t at the top of a partition, without a complaint. I didn&amp;rsquo;t try syncing to CN&amp;rsquo;s or OU&amp;rsquo;s though ;)&lt;/p&gt;
&lt;p&gt;Hence I can put the users from two domains into one ADAM instance. So, if you are looking at using Openfire with multiple domains and you decide to go the ADAM route - ignore LDS, stick to 2003 !&lt;/p&gt;</description>
        </item>
        
    </channel>
</rss>
