no save
Assistance
Achat
News

Forum | programmation
VBS et Active directory
Makss, le mer. 02 avr. 2008 à 16:52:48
Bonjour,

Je suis en stage, et pour passer mon temps libre (et oui, j'en ai...), j'essaye de faire un petit truc en VBS afin d'extraire des infos concernat tous les users dans l'active directory... Mais voila, je bute sur un truc et jm'en sort pas...
Ci dessous le code, ça plante à la ligne 33 avec une erreur notifiée "Provider"... Il n'y a encore rien au point vis à vis du fichier texte...
Merci!!!



' Extraction d'users de l'Active Directory

dim fso, MyFile, reptemp, filetext, oRecordSet


' LDAP du domaine
strDomainDN ="dc=******,dc=lan"

' Le répertoire c:\temp doit exister
reptemp="c:\temp\"
Filetext=Inputbox("fichier temporaire de l'OU cible : ")
Set fso = CreateObject("Scripting.FileSystemObject")

' création d'un fichier txt pour la première partie du script, soit le nom des utilisateurs
set MyFile = fso.CreateTextFile(reptemp + filetext + ".txt")

'Connexion
Set objDSE = GetObject("LDAP://rootDSE")
set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Open "Active Directory Provider"

' Ici un filtre sur les utilisateurs, récupération des paramètres
strFilter = "(&(objectclass=user)(objectcategory=person));"
strAttrs = "givenName,SN,distinguishedName,userPrincipalName,mail,description"
strScope = "subtree"

'Requète
Requete = "<LDAP://" & objDSE.Get("defaultNamingContext") & ">;" & strFilter & strAttrs & strScope
WScript.Echo Requete

'Execution de la requète
Set oRecordSet = objConn.Execute(Requete)

prenom = oRecordset.Fields("givenName").Value
nom = oRecordset.Fields("SN").Value
UserDName = oRecordset.Fields("distinguishedName").Value
UserPName = oRecordset.Fields("userPrincipalName").Value
Email = oRecordset.Fields("mail").Value
Description = oRecordset.Fields("Description").Value


' extraction nom OU la plus basse
partie = split(UserDName,",")
OU = Right(partie(1),Len(partie(1))-3)
' extraction login user (a partir windows 2000)
partie = split(UserPName,"@")
login = partie(0)

' Affichage des infos recuperees
' ------------------------------
WScript.Echo "prenom: " & prenom _
& CRLF & "nom: " & nom _
& CRLF & "login: " & login _
& CRLF & "Email: " & Email _
& CRLF & "OU: " & OU _
& CRLF & "Description: " & Description

oConnection.Close
WScript.Quit


msgbox "fin de récupération des utilisateurs. Le fichiers texte est dans " + reptemp + Filetext + ".txt"



--
No amount of magic knobs will save a sopply designated network...Configuration: Windows XP
Internet Explorer 6.0


tompols
avr. 08
Suivant
REPONSES
tompols
avr. 08
Makss
avr. 08
pimoos
22 févr.
Version Web
Réalisé par RedShift
no save