[python-win32] Ranged retrieval of large group membership lists

Tim Golden mail at timgolden.me.uk
Sat Mar 13 11:17:38 CET 2010


On 12/03/2010 22:58, Mike Diehn wrote:
> Hey folks,
>
> I can't be the only person dealing with this, right?
>
> I have an AD group of 1650 members.  The find_group() function in
> active_directory.py can't return more than 1500 members.  I've coded a
> generator that gets around it by using the query() method in a sort of brute
> force method.  But I'd really like to know what everyone else is doing
> instead.
>
> In other words, what did I miss?


Hi, Mike. As far as I can see you haven't missed anything. I've been
playing around a little as far as my time has permitted and I imagine
the following are true. (Obviously "most people" here refers to "most
people who use Python on Windows and want to access AD...")

* Most people don't use my active_directory module for accessing AD
   but write the code themselves or use one of the python-ldap modules.

* Most people don't have member lists of > 1500. We certainly don't. In
   order to test this I'm going to have to sweet-talk my admins into
   letting me use on our test-harness AD where I can generate several
   thousand random users.

* This is more of an issue if you're accessing members by means of the
   IADsGroup object (which you are if you're looking at the .members
   attribute). AFAICT There is no way to specify anything like the
   ranging attributes there. Could be wrong. Haven't yet tried something
   like GetInfoEx to see if you can specify a range there. I'm trying to
   build something pretty much automatic into the underlying .query
   mechanism in my module but I'm hampered by the fact that we don't need
   it at my work, and they're the ones paying for the time I spend on
   developing this.

I need to spend more time looking into this in the coming week but I'm
not sure how much time will be available to me...

TJG


More information about the python-win32 mailing list