Python 2.7 尝试使用pyad查询其他域上的帐户时出错

Python 2.7 尝试使用pyad查询其他域上的帐户时出错,python-2.7,flask,active-directory,pyad,Python 2.7,Flask,Active Directory,Pyad,我使用在活动目录上执行许多操作,用户可以指定其连接详细信息,例如: pyad.set_defaults(ldap_server="my.server", username=myusername, password=xxx,ssl=False,ldap_port=123) 例如,我可以通过名称检索组: group = pyad.adgroup.ADGroup.from_cn(groupname) 我的问题是pyad.adquery.adquery()在指定连接详细信息后尝试使用时出错 Att

我使用在活动目录上执行许多操作,用户可以指定其连接详细信息,例如:

 pyad.set_defaults(ldap_server="my.server", username=myusername, password=xxx,ssl=False,ldap_port=123)
例如,我可以通过名称检索组:

group = pyad.adgroup.ADGroup.from_cn(groupname)
我的问题是pyad.adquery.adquery()在指定连接详细信息后尝试使用时出错

AttributeError: 'module' object has no attribute 'set_defaults'
以下是完整的代码:

import pythoncom
pythoncom.CoInitialize()
import pyad.adquery
ad = Auth_Type_Config.query.filter_by(auth_type_id=2).first()
if ad:
    pyad.set_defaults(ldap_server=ad.host, username=ad.username,
                      password=ad.password, ssl=ad.is_ssl,
                      ldap_port=ad.port)
else:
    return jsonify({'msg': 'You must configure the authentication method for LDAP.'
                   , 'status': 'error'})

q = pyad.adquery.ADQuery()
where_clause = "SamAccountName = '{}'"
for (index, item) in enumerate(usernames, start=1):
    if index == 1:
        continue
    where_clause += " or SamAccountName = '{}'"

q.execute_query(attributes=['distinguishedName', 'mail', 'name',
                'SamAccountName'],
                where_clause=where_clause.format(*usernames),
                base_dn='CN=Users,DC=dsp,DC=local')

rows = []
for row in q.get_results():
    rows.append(row)
user = (rows[0] if len(rows) > 0 else None)
return rows

我想这有点晚了,但正确的函数似乎是pyad.pyad_setdefaults而不是pyad.set_defaults

我得到了一个错误属性错误:模块“pyad”没有属性“aduser”,有什么想法吗?