Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

script vbs, connexion à l'AD avec filtrage sur les OU

2 réponses
Avatar
dareman
Bonjour,
j'ai effectué un script qui ce connecte à l'AD est récupère toutes les OU du domaine, ensuite un utilisateur choisit une OU, j'aimerai me connecter à cette OU et extraire la liste des utilisateurs qu'elle contient.
je n'arrive pas "filtrer" correctement lors de mon étape de connexion et me retrouve avec une erreur, je voulais donc savoir si ce que je veut faire est réalisable.
voici mon code de connexion, avec une OU stocké dans une variable pour tester le code
strBase = "<LDAP://dc=domaine,dc=lan" & ">"
' Filter on all user objects that are still locked out.
ftr = "OU=toto"
strFilter = "(&(objectCategory=person)(objectClass=user)("& ftr & "))"

strAttributes = "distinguishedName,logonCount,objectGUID"
' Construct the LDAP syntax query.
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";Mail;subtree"

' Run the query.
adoCommand.CommandText = strQuery
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("Timeout") = 60
adoCommand.Properties("Cache Results") = False

Set adoRecordset = adoCommand.Execute



voila je ne sais pas si vous comprendrez ce problème, dans tout les cas je vous remercie d'avoir lu mon message

2 réponses

Avatar
Lognoul Marc [MVP]
Bonjour

Il est préférable de spécifier l'OU dans la base du query:

strBase = "<LDAP://ou=toto,dc=domaine,dc=lan" & ">"

--
Marc [MCSE, MCTS, MVP]
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]


strBase = "<LDAP://dc=domaine,dc=lan" & ">"
' Filter on all user objects that are still locked out.
ftr = "OU=toto"
strFilter = "(&(objectCategory=person)(objectClass=user)("& ftr & "))"

strAttributes = "distinguishedName,logonCount,objectGUID"
' Construct the LDAP syntax query.
strQuery = strBase & ";" & strFilter & ";" & strAttributes &
";Mail;subtree"

' Run the query.
adoCommand.CommandText = strQuery
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("Timeout") = 60
adoCommand.Properties("Cache Results") = False

Set adoRecordset = adoCommand.Execute



voila je ne sais pas si vous comprendrez ce problème, dans tout les cas je
vous
remercie d'avoir lu mon message


Avatar
dareman
dareman a écrit le 19/05/2009 à 10h08 :
Bonjour,
j'ai effectué un script qui ce connecte à l'AD est
récupère toutes les OU du domaine, ensuite un utilisateur choisit
une OU, j'aimerai me connecter à cette OU et extraire la liste des
utilisateurs qu'elle contient.
je n'arrive pas "filtrer" correctement lors de mon étape de
connexion et me retrouve avec une erreur, je voulais donc savoir si ce que je
veut faire est réalisable.
voici mon code de connexion, avec une OU stocké dans une variable pour
tester le code
strBase = "<LDAP://dc=domaine,dc=lan" & ">"
' Filter on all user objects that are still locked out.
ftr = "OU=toto"
strFilter = "(&(objectCategory=person)(objectClass=user)("&
ftr & "))"

strAttributes = "distinguishedName,logonCount,objectGUID"
' Construct the LDAP syntax query.
strQuery = strBase & ";" & strFilter & ";"
& strAttributes & ";Mail;subtree"

' Run the query.
adoCommand.CommandText = strQuery
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("Timeout") = 60
adoCommand.Properties("Cache Results") = False

Set adoRecordset = adoCommand.Execute



voila je ne sais pas si vous comprendrez ce problème, dans tout les cas
je vous remercie d'avoir lu mon message


bonour,
merci pour la réponse, j'ai déjà essayer de cette manière, ce type de connexion me semble tout ce qu'il y a de plus logique mais ayant un probléme lorsque l'exécution du script j'ai essayé différemment pour avoir le même résultat au final ^^.
lorsque je tente une connexion ainsi strBase = "<LDAP://OU=toto,dc=domaine,dc=lan" & ">"

mon script m'affiche alors l'erreur suivante : " Le tableau n'existe pas"

si je tente une connexion sur l'AD pour afficher tout les utilisateurs qui y sont présent cela marche, en revanche à partir du moment ou je rajoute mon OU cela m'affiche " Le tableau n'existe pas"

je ne comprend pas pourquoi