Bonsoir a tous.
je voudrais connaitre la façon de, une fois connecté a l'active directory (AD) avec python, extraire le schema pour savoir quel filtre appliquer. Le but etant d'extraire tous les utilisateurs.
Je ne connais pas la structure de l'AD, juste de quoi me connecter.

J'ai testé avec de nombreux champs: Name ou cn ou encore sAMAccountName
mais y'a rien a faire.

Le debut de mon script ressemble a ca:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/python
import sys
from xml.dom.minidom import Document
import ldap
import time
import os
import popen2
dayDate=time.strftime("%Y%m%d", time.localtime())
 
ldap_uri = "ldap://host"
userPrincipalName = "user@host.com"
password = 'xxxxxxx'
 
trace_level = 2
l = ldap.initialize(ldap_uri,trace_level=trace_level)
if len(sys.argv) > 2:
	searchFilter=sys.argv[1]
	dfile=sys.argv[2]
else:
	dfile=sys.argv[1]
	searchFilter = "(&(objectCategory=person)(objectCategory=*)(objectClass=*)(Title=*)(sAMAccountName=*)(userAccountControl=*))"
 
l.simple_bind_s(userPrincipalName,password)
baseDN = "DC=host,DC=com"
searchScope = ldap.SCOPE_SUBTREE
retrieveAttributes = None
#searchFilter = "(objectClass=*)"
#searchFilter ="(sAMAccountName=*)"
#searchFilter = "(&(objectCategory='person')(objectClass='user'))"
#searchFilter = "(objectCategory='person')(objectClass='user')"
#searchFilter = "(objectCategory='person', objectClass='user')"
#searchFilter = "(objectCategory='person')"
doc = Document()
pFile20=doc.createElement("p-file-20")
doc.appendChild(pFile20)
 
ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes)
result_set = []
while 1:
	type="A"
	result_type, result_data = l.result(ldap_result_id, 0)
 
	print result_data
	if (result_data == []):
		print "nodata"
		break
	elif len(result_data[0])<2:
D'avance merci