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

probléme de connexion à L' AD en vbs

11 réponses
Avatar
dareman
Bonjour,
tout d'abord je tient à m'excuser pour mon précédent message posté sur ce forum ou mes réponses n'ont jamais été publiées je ne sais pourquoi, mais grâce à l'aide de certain j'ai pu me débrouiller ^^

je poste ce message, car j'ai créer un script qui "permet" de récupérer toutes les OU de l'AD et de les stockés dans une combobox le tout en hta.
voici une partie du script:

'----------------------------------------------------------------------------connexion à l'AD en mode objet
Set adoConnection = CreateObject("ADODB.Connection")' protocol pour la conexion a l'AD en programation objet
'sert à chercher le dommaine de tout les utilisateurs
Set adoCommand = CreateObject("ADODB.Command")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open "Active Directory Provider"
Set adoCommand.ActiveConnection = adoConnection
'-------------------------------------------------------------------------
Set objRootDSE = GetObject("LDAP://rootDSE") 'cherche le dc en mode root
strFilter = "(&(objectClass=OrganizationUnit))"
strQuery = "<LDAP://" & objRootDSE.Get("defaultNamingContext") & ">;" & strFilter

adoCommand.CommandText = strQuery
Set adoRecordset = adoCommand.Execute //// voila la ligne qui plante
adoCommand.MoveFirst

si quelqu'un as une idée aussi pour stocké le résultat dans une combobox je suis preneur.

je remercie d'avance toute personne qui prêtera attention à mon probléme

1 réponse

1 2
Avatar
dareman
dareman a écrit le 06/05/2009 à 11h12 :
Bonjour,
tout d'abord je tient à m'excuser pour mon précédent
message posté sur ce forum ou mes réponses n'ont jamais
été publiées je ne sais pourquoi, mais grâce
à l'aide de certain j'ai pu me débrouiller ^^

je poste ce message, car j'ai créer un script qui "permet" de
récupérer toutes les OU de l'AD et de les stockés dans une
combobox le tout en hta.
voici une partie du script:

'----------------------------------------------------------------------------connexion
à l'AD en mode objet
Set adoConnection = CreateObject("ADODB.Connection")' protocol pour
la conexion a l'AD en programation objet
'sert à chercher le dommaine de tout les utilisateurs
Set adoCommand = CreateObject("ADODB.Command")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open "Active Directory Provider"
Set adoCommand.ActiveConnection = adoConnection
'-------------------------------------------------------------------------
Set objRootDSE = GetObject("LDAP://rootDSE") 'cherche le dc en mode
root
strFilter = "(&(objectClass=OrganizationUnit))"
strQuery = "<LDAP://" &
objRootDSE.Get("defaultNamingContext") & ">;" &
strFilter

adoCommand.CommandText = strQuery
Set adoRecordset = adoCommand.Execute //// voila la ligne qui plante
adoCommand.MoveFirst

si quelqu'un as une idée aussi pour stocké le résultat
dans une combobox je suis preneur.

je remercie d'avance toute personne qui prêtera attention à mon
probléme


bonour,
merci pour l'apli, je ne peut hélas pas la tester pendant mon stage car je ne posséde pas les droits nécessaires, mais je la testerai chez moi ^^
si non désolé d'insister mais je suis de nouveau confronté à un problème.
j'arrive donc à récupérer la liste des OU que je stock dans un combobox, une fois une OU selectionée, le code suivant ce lance, ce dernier doit récupérer tout les utilisateurs présent dans cette OU:

Sub combo_onchange ' quand une OU est selectionné dans la combobox
strBase = "<LDAP://" & combo.value & "," & objRootDSE.Get("defaultNamingContext") & ">;" ' pas 'de probleme avec cette ligne
strFilter = "(objectCategory=user);" ' pour selectioner les utilisateurs d'une OU
strFilter2 = "givenName;"
set objConn2 = CreateObject("ADODB.Connection") ' connexion pour récupérer les utilisateur de
' L'OU passé en paramétre
objConn2.Provider = "ADsDSOObject"
objConn2.Open "Active Directory Provider"
set objRSS = objConn2.Execute(strBase & strFilter & strAttrs & strScope)
objRSS.MoveFirst
Do While Not objRSS.EOF
if not ISNULL(objRSS.Fields(0).Value) then
utilisateur = objRSS.Fields(0).Value
end if
loop
end sub


une fois le script lancé l'erreur "le tableau n'existe pas " est déclenchée d'aprés la ligne
set objRSS = objConn2.Execute(strBase & strFilter & strAttrs & strScope)

je ne voie pas ou est le probléme, si quelqu'un peut m'aider je l'en remercie car la je suis un peu perdu ^^
je précise toutefois qu'une OU ne posséde pas forcément d'utilisateurs, mais l'erreur est tout de même déclenché pour les OU ne possédant que des utilisateurs.

merci à tous ceux qui lirons ce message
1 2