<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Recursivly expanding ADMon groups to get members in Security</title>
    <link>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49810#M13885</link>
    <description>&lt;P&gt;Anyone have ideas here?&lt;/P&gt;</description>
    <pubDate>Wed, 18 Jan 2012 23:02:08 GMT</pubDate>
    <dc:creator>rtadams89</dc:creator>
    <dc:date>2012-01-18T23:02:08Z</dc:date>
    <item>
      <title>Recursivly expanding ADMon groups to get members</title>
      <link>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49809#M13884</link>
      <description>&lt;P&gt;I have a search which returns a list of groups and their members from the data provided by ADMon. The members include user objects, as well as other group objects. By using a selfjoin, I can expand this sub group and link its members with the top level group. However, I have not figured out a way to traverse an arbitrary number of nested groups. Any ideas?&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jan 2012 15:49:57 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49809#M13884</guid>
      <dc:creator>rtadams89</dc:creator>
      <dc:date>2012-01-12T15:49:57Z</dc:date>
    </item>
    <item>
      <title>Re: Recursivly expanding ADMon groups to get members</title>
      <link>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49810#M13885</link>
      <description>&lt;P&gt;Anyone have ideas here?&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jan 2012 23:02:08 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49810#M13885</guid>
      <dc:creator>rtadams89</dc:creator>
      <dc:date>2012-01-18T23:02:08Z</dc:date>
    </item>
    <item>
      <title>Re: Recursivly expanding ADMon groups to get members</title>
      <link>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49811#M13886</link>
      <description>&lt;P&gt;I have the same problem and I'm looking for appropriate solution.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Aug 2012 13:06:41 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49811#M13886</guid>
      <dc:creator>psobisch</dc:creator>
      <dc:date>2012-08-07T13:06:41Z</dc:date>
    </item>
    <item>
      <title>Re: Recursivly expanding ADMon groups to get members</title>
      <link>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49812#M13887</link>
      <description>&lt;P&gt;You may want to create an additional field at index time that can be used as a reference in your searches to determine the how "deep' to traverse the user groups, etc. &lt;/P&gt;</description>
      <pubDate>Tue, 11 Sep 2012 00:24:54 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49812#M13887</guid>
      <dc:creator>Rob</dc:creator>
      <dc:date>2012-09-11T00:24:54Z</dc:date>
    </item>
    <item>
      <title>Re: Recursivly expanding ADMon groups to get members</title>
      <link>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49813#M13888</link>
      <description>&lt;P&gt;It was nice meeting with you at .conf2012, and I appreciate the effort you put into this. However, after reviewing it, I'm not sure how your suggestion would be accomplished.&lt;/P&gt;

&lt;P&gt;AD memebrships are tree like in structure. So for example I might have these events:&lt;/P&gt;

&lt;P&gt;"Group: A; Members: Group B, Group X;"&lt;BR /&gt;
"Group: B; Members: Group C;"&lt;BR /&gt;
"Group: C; Members: RTAdams89, Group Y;&lt;/P&gt;

&lt;P&gt;Because of the nesting, Groups "B", "X", "C", and "Y" and user "RTAdams89" are all members of group "A".&lt;/P&gt;

&lt;P&gt;If I were to write a script to determine the depth, I might as well just have the script expand all the members.&lt;/P&gt;</description>
      <pubDate>Sat, 15 Sep 2012 05:19:37 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49813#M13888</guid>
      <dc:creator>rtadams89</dc:creator>
      <dc:date>2012-09-15T05:19:37Z</dc:date>
    </item>
    <item>
      <title>Re: Recursivly expanding ADMon groups to get members</title>
      <link>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49814#M13889</link>
      <description>&lt;P&gt;I have found a solution that will work with up to 4 levels of nesting (and can be expanded to work with up to X levels). I have setup up two lookup table generating scheduled searches. &lt;/P&gt;

&lt;P&gt;The first search runs at *:20:00 and *:50:00.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;index=activedirectory source="admon" objectClass="top|group" earliest="10/28/2012:0:0:0" | dedup objectSid | eval members=split(member, "|") | mvexpand members | eval member=replace(members, "CN=", "") | eval member=replace(member, ",OU=.*", "") | table sAMAccountName, member | outputlookup ADGroupMembership1.csv
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;The second search runs at *:25:00 and *:55:00 (5 minutes after search #1).&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| inputlookup ADGroupMembership1.csv | eval topGroup=sAMAccountName | table topGroup, sAMAccountName, member | eval joinOn=lower(member) | join max=100 type=outer joinOn [| inputlookup ADGroupMembership1.csv | eval joinOn=lower(sAMAccountName)] | dedup topGroup, member | join max=100 type=outer joinOn [| inputlookup ADGroupMembership1.csv | eval joinOn=lower(sAMAccountName)] | dedup topGroup, member | join max=100 type=outer joinOn [| inputlookup ADGroupMembership1.csv | eval joinOn=lower(sAMAccountName)] | dedup topGroup, member | join max=100 type=outer joinOn [| inputlookup ADGroupMembership1.csv | eval joinOn=lower(sAMAccountName)] | dedup topGroup, member | table topGroup, member | outputlookup ADGroupMembershipExpanded.csv
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;After this second search runs, a lookup table is created. The table has two columns/fields: "topGroup" and "member". If you wanted to see all of the users who are members of the group "Domain Admins" (through up to 4 levels of group nesting), you simply run this search:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| inputlookup ADGroupMembershipExpanded.csv | search topGroup="Domain Admins"
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;If you have more than 4 levels of nesting in your environment, you can modify search #2 to include additional instances of:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;join max=100 type=outer joinOn [| inputlookup ADGroupMembership1.csv | eval joinOn=lower(sAMAccountName)] | dedup topGroup, member
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 30 Oct 2012 17:10:05 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49814#M13889</guid>
      <dc:creator>rtadams89</dc:creator>
      <dc:date>2012-10-30T17:10:05Z</dc:date>
    </item>
    <item>
      <title>Re: Recursivly expanding ADMon groups to get members</title>
      <link>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49815#M13890</link>
      <description>&lt;P&gt;You can also download the SA-ldapsearch app that does this for you.&lt;/P&gt;</description>
      <pubDate>Wed, 31 Oct 2012 16:57:34 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/Recursivly-expanding-ADMon-groups-to-get-members/m-p/49815#M13890</guid>
      <dc:creator>ahall_splunk</dc:creator>
      <dc:date>2012-10-31T16:57:34Z</dc:date>
    </item>
  </channel>
</rss>

