我想获得的所有PC从LDAP在本地网络中,所以我想(的变化)这样的:蟒蛇LDAP3搜索LDAPOperationsErrorResult
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 - 无 - 000004DC:LdapErr:DSID-0C090748,注释:为了执行此操作,必须在连接上成功完成绑定,data 0,v2580 - searchResDone - 无
尽管“Bound”为“True ”。
我正在使用python 2.7。任何帮助将不胜感激!
正如cannatag指出的,我需要进行身份验证才能获取此信息。但是,错误消息很糟糕,因为绑定实际上成功了,这就是为什么没有他的帮助,我被卡住了。\ rant – TimO