Pb avec l Active Directory

Noufgrim Messages postés 4 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 20 mars 2007 - 16 juin 2004 à 15:00
Noufgrim Messages postés 4 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 20 mars 2007 - 17 juin 2004 à 17:16
Je develloppe actuellement une appli en Visual Basic 6.0 capable de gerer les comptes utilisateurs ... j ai bien avancé dans mon programme, le seul probleme auquel je me heurte est les OU, je n arrive pas a les recuperer dans une combobox.

Si quelqu un peut me donner un coup de main cela serait super. Merci d avance

voici un essai :

 Dim user As IADsUser
    Dim username As String
    Dim userdomain As String
    Dim Org As IADsOU
    Dim container As IADsContainer
    Dim containername As String
    containername = frmAdmin.cmbdom.Text
    userdomain = frmAdmin.cmbdom.Text
    username = FrmUtilisateur.cmbUtil.Text
    
    If frmAdmin.Chkdrt.Value = 1 Then
        Set container = GetObject("WinNT://" & containername)
        Set user = GetObject("WinNT://" & userdomain & "/" & username & ",user")
    Else
        Set dso = GetObject("WinNT:")
        Set user = dso.OpenDSObject("WinNT://" & DomainName & "/" & username & ",user", username2, password, 1)
        Set container = dso.OpenDSObject("WinNT://" & DomainName, username, password, 1)
    End If
    container.Filter = Array("OrganizationUnit")
    For Each Org In container
        cmbOU.AddItem Org.Name
    Next

End Sub

2 réponses

cs_scrableur Messages postés 13 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 21 août 2006
17 juin 2004 à 11:07
salut
si j ai bien compris ta requete tu ve enumerer les OU de ton domaine

voici une fonction que g fe il y a longtemps mais elle doir marcher je te laisse tester

function enum_ou()
Set accountobj = GetObject("LDAP://DC=toto,Dc=com")

accountobj.Filter = Array("organizationalunit")
For Each ou In accountobj
List1.AddItem (ou.Name)
Next
end function

si tu ve tu dois pouvoir la rappeller afin de la rendre recursive avec un truc du style

function enum_ou(ou_name)
Set accountobj = GetObject("LDAP://" & ou_name & ",DC=toto,Dc=com")
accountobj.Filter = Array("organizationalunit")
For Each ou In accountobj

enum_ou (ou.Name & "," & ou_name)

List1.AddItem (ou.Name & "," & ou_name)
Next
end function

je lai pas tester ca

enjoy
0
Noufgrim Messages postés 4 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 20 mars 2007
17 juin 2004 à 17:16
Merci bcp
Bon je teste ca
0
Rejoignez-nous