Group Membership in Active Directory Query
kooch54 at gmail.com
kooch54 at gmail.com
Wed Feb 7 09:36:57 EST 2007
On Feb 7, 9:22 am, kooc... at gmail.com wrote:
> I am trying to write a script to simply query the group members in an
> active directory group. I need to use LDAP to make sure I capture any
> global > global group nestings that may occur. I already have a
> function that uses WinNT provider to capture this info from NT4 or AD
> domains and it works beautifully. It just doesn't capture global >
> global nestings. I am having great difficulties in getting this to
> work on AD though with ldap. I have a multiple domain tree
> environment and need to be able to query groups in different domains.
> I want to simply make an ldap connection, bind to it, search for the
> group and get it's members.
> I do the following for eDirectory and it works great but not in AD.
>
> import ldap
> l=ldap.open(1.2.3.4,trace_level = 1)
> l.simple_bind_s('cn=username,ou=company','password')
> UserRes = UserRes + l.search_s(
> o=company,
> ldap.SCOPE_SUBTREE, "(|'cn=groupname')
>
> If I do the same thing as above but to an AD source it doesn't work.
> I run the open and it seems successful, I run the bind using DN, UPN,
> or domain name and password and it seems to bind, I run the query and
> it says I must complete a successfull bind operation before doing a
> query.
>
> Any help is appreciated.
I found an example in the groups here and attempted it but it failed
as well. Below is the code I used and the results.
import ldap, ldapurl
proto = 'ldap'
server = 'domaincontroller.domain.company.com'
port = 389
url = ldapurl.LDAPUrl(urlscheme=proto,
hostport="%s:%s" % (server,
str(port))).initializeUrl()
ldap_obj = ldap.initialize(url)
# !!!password will be on wire in plaintext!!!
ldap_obj = ldap_obj.simple_bind_s('username at domain.company.com',
'password')
base = 'DC=DOMAIN, DC=COMPANY, DC=COM'
scope = ldap.SCOPE_SUBTREE
query = '(objectclass=user)'
res_attrs = ['*']
res = ldap_obj.search_ext_s(base, scope, query, res_attrs)
print res
RESULTS FROM PYTHON SHELL
res=ldap_obj.search_ext_s(base, scope, query, rest_attrs)
AttributeError: 'NoneType' object has no attribute 'search_Ext_s'
More information about the Python-list
mailing list