1""" 2Do a search with the LDAP URL specified at command-line. 3 4No output of LDAP data is produced except trace output. 5""" 6import sys,getpass,ldap,ldapurl 7 8try: 9 ldapUrl = ldapurl.LDAPUrl(ldapUrl=sys.argv[1]) 10except IndexError: 11 print('Usage: %s [LDAP URL]' % (sys.argv[0])) 12 sys.exit(1) 13 14for a in [ 15 'urlscheme','hostport','dn','attrs','scope', 16 'filterstr','extensions','who','cred' 17]: 18 print(a,repr(getattr(ldapUrl,a))) 19 20l = ldap.initialize(ldapUrl.initializeUrl(),trace_level=1) 21if ldapUrl.who!=None: 22 if ldapUrl.cred!=None: 23 cred=ldapUrl.cred 24 else: 25 print('Enter password for simple bind with',repr(ldapUrl.who)) 26 cred=getpass.getpass() 27 l.simple_bind_s(ldapUrl.who,cred) 28 29res = l.search_s(ldapUrl.dn,ldapUrl.scope,ldapUrl.filterstr,ldapUrl.attrs) 30 31print(len(res),'search results') 32