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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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" <Francois.lesourdi@free.fr> a écrit dans le message de
news:%23gf0ImDcHHA.264@TK2MSFTNGP05.phx.gbl...
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.
--------------------------------- 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.
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+
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.
--------------------------------- 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.