首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python ldap3搜索LDAPOperationsErrorResult

python ldap3搜索LDAPOperationsErrorResult
EN

Stack Overflow用户
提问于 2016-06-09 17:04:15
回答 1查看 1.2K关注 0票数 1

我希望从ldap获得本地网络中的所有PC,因此我尝试了以下(变体):

代码语言:javascript
复制
import ldap3
from ldap3 import ALL_ATTRIBUTES, SUBTREE, ALL
import dns.resolver
import socket

def get_ldap_server():
    domain_name = socket.getfqdn().lstrip( socket.gethostname() )    
    answers = dns.resolver.query( '_ldap._tcp'+domain_name, rdtype='srv' )
    #for srv in answers:
    return answers[0].target.to_text()[:-1]

srv_name = get_ldap_server()
print srv_name
server = ldap3.Server( srv_name, get_info=ALL )
with ldap3.Connection( server ) as c:
    print "Bound", c.bound
    c.search( search_base='dc='+', dc='.join(srv_name.split('.')[1:]),
          search_filter='(objectCategory=computer)',
          search_scope=SUBTREE,
          attributes=ALL_ATTRIBUTES,
          get_operational_attributes=True)

    print(c.response)

但我得到的只有: LDAPOperationsErrorResult: LDAPOperationsErrorResult -1- operationsError - None - 000004DC: LdapErr: DSID-0C090748,注释:要执行此操作,必须在连接上完成成功的绑定。

尽管“约束”是“真实”。

我用的是python 2.7。任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-09 21:09:24

您没有在连接对象中提供任何用户名或密码,因此将执行匿名绑定。

尝试将username=xxx和password=yyy添加到"with“语句中的连接定义中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37732180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档