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

Recherche AD sur l'adresse mail

2 réponses
Avatar
François
Bonjour,

Je cherche à réaliser un script qui ferait une recherche AD à partir
d'un fichier texte contenant l'adresse mail, et me permettrait de
changer certains attributs d'AD.
Les utilisateurs se trouvent dans différents OU.
Seulement pour la recherche, je ne trouve pas de solution qui me
permettrait de rechercher directement sur le mail. J'aimerai ne pas être
obligé de faire une lecture séquentielle de tous les users et de
comparer à chaque fois avec le mail du fichier texte. J'ai qq centaines
d'utilisateurs....
Je sèche...
Merci.

2 réponses

Avatar
Thierry DEMAN [MVP]
Bonsoir,

voici la fonction que j'utilise !!!!

---------------------------------
Function SearchEMail(Email)
Dim oRootDSE 'As IADs
Dim strDomainNC 'As String
Dim oUser

Email=replace(Email," ","")

Set oRootDSE = GetObject("LDAP://RootDSE")
strDomainNC = oRootDSE.Get("defaultNamingContext")
msgbox(StrDomainNC)


Set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"

Set oRecordset =
oConnection.Execute("<GC://"+StrDomainNC+">;(&(objectCategory=user)(mail="+Email+"));distinguishedName,mail;subtree")

If Not oRecordset.EOF Then
While Not oRecordset.EOF
wscript.echo "AD "&oRecordset.fields("mail")
if not(isnull(oRecordset.Fields("distinguishedName"))) Then
SearchEMail=oRecordset.Fields("distinguishedName")
exit function
end if
oRecordset.movenext
Wend
End If
SearchEMail=""
Wscript.echo "not found : "&Email
end function
-------------------------------------

Tu trouveras d'autres exemples de scripts très intéressants dans le site de
la base Exchange !
=> Certains utilisent le résultat de cette fonction.

A+

--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
http://base.faqexchange.info http://www.faqexchange.info
http://ISAFirewalls.org
"François" a écrit dans le message de
news:%
Bonjour,

Je cherche à réaliser un script qui ferait une recherche AD à partir d'un
fichier texte contenant l'adresse mail, et me permettrait de changer
certains attributs d'AD.
Les utilisateurs se trouvent dans différents OU.
Seulement pour la recherche, je ne trouve pas de solution qui me
permettrait de rechercher directement sur le mail. J'aimerai ne pas être
obligé de faire une lecture séquentielle de tous les users et de comparer
à chaque fois avec le mail du fichier texte. J'ai qq centaines
d'utilisateurs....
Je sèche...
Merci.



Avatar
François
Merci, je vais tester...
A+ !


Bonsoir,

voici la fonction que j'utilise !!!!

---------------------------------
Function SearchEMail(Email)
Dim oRootDSE 'As IADs
Dim strDomainNC 'As String
Dim oUser

Email=replace(Email," ","")

Set oRootDSE = GetObject("LDAP://RootDSE")
strDomainNC = oRootDSE.Get("defaultNamingContext")
msgbox(StrDomainNC)


Set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"

Set oRecordset =
oConnection.Execute("<GC://"+StrDomainNC+">;(&(objectCategory=user)(mail="+Email+"));distinguishedName,mail;subtree")


If Not oRecordset.EOF Then
While Not oRecordset.EOF
wscript.echo "AD "&oRecordset.fields("mail")
if not(isnull(oRecordset.Fields("distinguishedName"))) Then
SearchEMail=oRecordset.Fields("distinguishedName")
exit function
end if
oRecordset.movenext
Wend
End If
SearchEMail=""
Wscript.echo "not found : "&Email
end function
-------------------------------------

Tu trouveras d'autres exemples de scripts très intéressants dans le site
de la base Exchange !
=> Certains utilisent le résultat de cette fonction.

A+