[python-win32] active_directory.py: enumerating membership of groups with more than 1500 members.

Tim Golden mail at timgolden.me.uk
Thu Mar 11 15:59:31 CET 2010


On 11/03/2010 14:51, Mike Diehn wrote:
> Thanks, Tim.
>
> I've just subscribed to the python-win32 mailing list and I'll copy this
> post to it.
>
> So, my task, in this instance is to retrieve the membership list of a 1650
> member AD security group.  That means the group has a 1650 item multi-value
> attribute.  It's refusing to send more than 1500, of course. Since this
> isn't about objects, page_size and size_limit don't *appear* to help.
>   Instead, last night I was working on a technique called "range retrieval."

Ah, sorry. I didn't read closely enough. Range retrieval is a pain because
you *have* to be retrieving at least as many items as you're requesting,
so you can't just say "give me 1-20,000", knowing that it'll work every time.

I've been struggling to find a clean way to include this in my slightly
improved AD interface, but haven't found one yet :(. I must confess I
didn't realise it would actually cap the retrieval if you didn't include
a range. I don't think any of our groups have as many as 1500 members.

Didn't know about that -* trick on the last loop, either. You live and learn.

TJG


More information about the python-win32 mailing list