I'm using 1.1.  I actually wrote a bunch of interop code so that I can
use most of the DS services (DSGetDCName, DSGetSite, Etc) as .Net
objects.  Nice to know I could have just upgraded to .Net 2.0 ;-)

Thanks for the info

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Joe Kaplan
Sent: Wednesday, May 31, 2006 5:40 PM
To: ActiveDir@mail.activedir.org
Subject: Re: [ActiveDir] tokenGroups field

I was going to say the same thing.  Also, if you are using .NET 2.0, the
new 
S.DS.ActiveDirectory namespace has tons of cool ways to enumerate
domains in 
a forest, DCs in a domain (and by site), etc.  The domain enumeration
code 
uses very similar LDAP searches under the hood.  The DC enumeration
stuff 
uses the locator service (DsGetDcName, etc.).

Joe Kaplan
----- Original Message ----- 
From: "joe" <[EMAIL PROTECTED]>
To: <ActiveDir@mail.activedir.org>
Sent: Wednesday, May 31, 2006 6:06 PM
Subject: RE: [ActiveDir] tokenGroups field


> Does this rate as cooler?
>
>
> (&(objectCategory=)(systemFlags:1.2.840.113556.1.4.803:=2))
>
>
> In adfind, you would do something like
>
> adfind -config -rb cn=partitions -bit -f
> "&(objectcategory=crossRef)(systemflags:AND:=2)" -flagdc ncname 
> systemflags
>
>
>
> F:\DEV\cpp\MemberOf>adfind -config -rb cn=partitions -bit -f
> "&(objectcategory=crossRef)(systemflags:AND:=2)" -flagdc ncname 
> systemflags
>
> AdFind V01.31.00cpp Joe Richards ([EMAIL PROTECTED]) March 2006
>
> Transformed Filter:
> &(objectcategory=crossRef)(systemflags:1.2.840.113556.1.4.803:=2)
> Using server: 2k3dc02.joe.com:389
> Directory: Windows Server 2003
> Base DN: cn=partitions,CN=Configuration,DC=joe,DC=com
>
> dn:CN=JOE,CN=Partitions,CN=Configuration,DC=joe,DC=com
>>nCName: DC=joe,DC=com
>>systemFlags: 3 [XREF_NC_NTDS(1);XREF_NC_Domain(2)]
>
> dn:CN=CHILD1,CN=Partitions,CN=Configuration,DC=joe,DC=com
>>nCName: DC=child1,DC=joe,DC=com
>>systemFlags: 3 [XREF_NC_NTDS(1);XREF_NC_Domain(2)]
>
>
> 2 Objects returned
>
>
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Isenhour,
Joseph
> Sent: Wednesday, May 31, 2006 12:18 PM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] tokenGroups field
>
> Thanks Joe,
>
> That's a little bit further than I want to go ;-)
>
> I wrote a GetMemberShip( DirectoryEntry ) method that finds all the
> domains in the forest and then connects to a GC in each and grabs
> tokenGroups for each and combines them into one string[]
>
> That seems to work fine ( until the day when we have a large number of
> domains :-o ).
>
> Speaking of enumerating the domains in the forest, I'm enumerating the
> domains by connecting to:
> CN=Partitions,CN=Configuration,DC=forestroot,DC=net
>
> Then I throw away the schema, config, and DNS partitions.  That seems
to
> work fine until the day we start using application partitions in which
> case I will have no way of distinguishing a security enabled partition
> from the application partition.
>
> Is there a cooler way to enumerate the domain partitions in a forest?
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of joe
> Sent: Tuesday, May 30, 2006 6:46 PM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] tokenGroups field
>
> The membership of groups is handled in a "special" way.
>
> Although the member attribute is marked for PAS inclusion only UG
> membership
> is replicated outside of a domain to all GCs.
>
> If you aren't worried about token creation for Windows security and
> instead
> just want to have full membership of a user in a single query you have
> two
> options that I can think of
>
> 1. Consolidate the group membership into another store, say ADAM or
SQL
> Server.
>
> 2. Create another linked attribute pair that you apply to users and
> groups
> like member/memberof that is set for PAS inclusion. When you set the
> member
> attribute you set the additional attribute which will replicate to all
> GCs
> because the directory doesn't have any special rules for your custom
> attribute. If you go that far, I would also set that new attribute to
be
> saved on tombstone as well. :)
>
>
>
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Isenhour,
> Joseph
> Sent: Tuesday, May 30, 2006 9:22 PM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] tokenGroups field
>
> Thanks, that's pretty much what I figured.
>
> So this is of low importance, but why wouldn't any GC in the forest be
> able to provide me with the local groups for all of the domains?  Why
do
> I have to hit a GC in every domain?  As I understand it the GC
> replicates the data from each domain that is marked for the partial
> attribute set.
>
> Like I said, really low importance, I'm just curious.
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of joe
> Sent: Tuesday, May 30, 2006 4:41 PM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] tokenGroups field
>
> Your token only contains groups that are valid locally. So if you log
> onto a
> workstation that is part of a forest, your token on the worksation
will
> contain Univeral groups of the forest, global groups from the local
> domain,
> domain local groups from the local domain (assuming native mode) and
> local
> groups from the local machine. Take a look at whomami /groups or
sectok
> to
> see your interactive token.
>
> Now if you connect to a remote machine, you will get the groups that
> have
> value there on your token on that remote machine. This is easiest to
see
> with ADAM, connect to an ADAM instance and pull the rootdse attribute
> tokengroups and look at what is returned...
>
> adfind -h adammachine:port -rootdse -resolvesids tokengroups
>
>
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Isenhour,
> Joseph
> Sent: Tuesday, May 30, 2006 7:27 PM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] tokenGroups field
>
> Yep your examples are helpful, that's what I'm using :-)
>
> It looks like hitting a GC for each domain in the forest is the way to
> go in order to get the local group membership from other domains.
>
> So just out of curiosity, when Windows builds your token, does it
> include the local groups from other domains?  Or does it add them when
> you try to access a resource that is protected by the foreign group?
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Joe Kaplan
> Sent: Sunday, May 28, 2006 9:55 PM
> To: ActiveDir@mail.activedir.org
> Subject: Re: [ActiveDir] tokenGroups field
>
> I've been checked out of the group here for a few weeks and just poked
> back
> in.  I think Dmitri summed things up quite well.  I'll just add that
> ADSI
> and S.DS don't do anything interesting here.  The net result is the
same
>
> base LDAP query you'd do in any other language.
>
> DLGs from multiple domains are not easy to get and there seems to be
no
> really easy way to do it.  The UGs and GGs from the user's home domain
> should always be there with tokenGroups though.
>
> We kind of glossed this over in our book, although our tokenGroups
> samples
> are pretty good otherwise.  Ryan showed three different methods for
> converting the SIDs back into friendly names, which could help a lot
of
> people.
>
> Joe K.
>
> ----- Original Message ----- 
> From: "joe" <[EMAIL PROTECTED]>
> To: <ActiveDir@mail.activedir.org>
> Sent: Friday, May 26, 2006 8:32 PM
> Subject: RE: [ActiveDir] tokenGroups field
>
>
>> Something could be happening under the covers for you by NET or ADSI.
> JoeK
>> could probably help there. However hitting a GC in each domain should
> do
>> it.
>> The main thing it is going to get you if it wasn't clear in the
> response
>> to
>> Deji is the domain local groups in the foreign domains. Obviously the
> user
>> couldn't be in GGs in other domains and UGs would be handled by
> hitting
>> the
>> default DC for the user assuming you aren't in mixed mode.
>>
>> You may want to use adfind to look at the results from each of the
>> domains.
>> With the new -resolvesids switch the tokenGroups attribute gets a
nice
>> resolved output which is nice....
>>
>>
>>
>>  joe
>>
>>
>>
>
> List info   : http://www.activedir.org/List.aspx
> List FAQ    : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ml/threads.aspx
> List info   : http://www.activedir.org/List.aspx
> List FAQ    : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ml/threads.aspx
>
> List info   : http://www.activedir.org/List.aspx
> List FAQ    : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ml/threads.aspx
> List info   : http://www.activedir.org/List.aspx
> List FAQ    : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ml/threads.aspx
>
> List info   : http://www.activedir.org/List.aspx
> List FAQ    : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ml/threads.aspx
> List info   : http://www.activedir.org/List.aspx
> List FAQ    : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ml/threads.aspx
>
> List info   : http://www.activedir.org/List.aspx
> List FAQ    : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ml/threads.aspx 

List info   : http://www.activedir.org/List.aspx
List FAQ    : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ml/threads.aspx
List info   : http://www.activedir.org/List.aspx
List FAQ    : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ml/threads.aspx

Reply via email to