Rechercher : dans
Par :

VBA - Active directory Chercher Utilisateur

Dernière réponse le 18 jun 2009 à 09:37:00 Active directory, le 17 jun 2009 à 10:27:03 
 Signaler ce message aux modérateurs

Bonjour,
Je cherche une macro qui permet de vérifier l'existence d'un utilisateur dans Active directory.
L'identifiant est tapé dans un textbox, puis une vérification est faite dans l'AD et renvoit un messagebox.

Quelqu'un sait comment faire?
merci !

Meilleures réponses pour « VBA Active directory Chercher Utilisateur » dans :
Principes d'Active Directory VoirPrincipe de fonctionnement d'Active Directory Active Directory permet de représenter et de stocker les éléments constitutifs du réseau (les ressources informatiques mais également les utilisateurs) sous formes d'objets, c'est-à-dire un ensemble...
Active Directory VoirPrésentation de Active Directory Active Directory est le nom du service d'annuaire de Microsoft apparu dans le système d'exploitation Microsoft Windows Server 2000. Le service d'annuaire Active Directory est basé sur les standards TCP/IP : DNS,...
Active Directory et le DNS VoirNotion d'espace de nom Active Directory constitue un espace de nom homogène, c'est-à-dire que toute ressource peut être identifiée de façon unique. DN RDN Plus d'informations Vue d'ensemble de Active Directory Architecture Active Directory

1

prog10, le 17 jun 2009 à 16:15:20
  • +1

J'ai ce code, mais il ne fonctionne pas, j'ai testé d'ajouter toutes les librairies et il bloque sur :
Dim conn As New ADODB.Connection.

Dim conn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim oRoot As IADs
Dim oDomain As IADs
Dim sBase As String
Dim sFilter As String
Dim sDomain As String

Dim sAttribs As String
Dim sDepth As String
Dim sQuery As String
Dim sAns As String

Dim user As IADsUser

On Error GoTo ErrHandler:



Set oRoot = GetObject("LDAP://rootDSE")
'work in the default domain
sDomain = oRoot.Get("defaultNamingContext")
Set oDomain = GetObject("LDAP://" & sDomain)
sBase = "<" & oDomain.ADsPath & ">"

sFilter = "(&(objectCategory=person)(objectClass=user)(name=" _
  & LoginName & "))"
sAttribs = "adsPath"
sDepth = "subTree"

sQuery = sBase & ";" & sFilter & ";" & sAttribs & ";" & sDepth
                   
conn.Open _
  "Data Source=Active Directory Provider;Provider=ADsDSOObject"
  
Set rs = conn.Execute(sQuery)

If Not rs.EOF Then
    Set user = GetObject(rs("adsPath"))
    With user
    

    
    sAns = "First Name: " & .FirstName & vbCrLf
    sAns = sAns & "Last Name " & .LastName & vbCrLf
    sAns = sAns & "Employee ID: " & .EmployeeID & vbCrLf
    sAns = sAns & "Title: " & .Title & vbCrLf
    sAns = sAns & "Division: " & .Division & vbCrLf
    sAns = sAns & "Department: " & .Department & vbCrLf
    sAns = sAns & "Manager: " & .Manager & vbCrLf

    sAns = sAns & "Phone Number: " & .TelephoneNumber & vbCrLf
    sAns = sAns & "Fax Number: " & .FaxNumber & vbCrLf
    
    sAns = sAns & "Email Address: " & .EmailAddress & vbCrLf
    sAns = sAns & "Web Page: " & .HomePage & vbCrLf
    sAns = sAns & "Last Login: " & .LastLogin & vbCrLf
    sAns = sAns & "Last Logoff: " & .LastLogoff & vbCrLf
    
    sAns = sAns & "Account Expiration Date: " _
         & .AccountExpirationDate & vbCrLf
    

    sAns = sAns & "Password Expiration Date: " _
      & .PasswordExpirationDate
       
    End With
End If
UserInfo = sAns
ErrHandler:

On Error Resume Next
If Not rs Is Nothing Then
    If rs.State <> 0 Then rs.Close
    Set rs = Nothing
End If

If Not conn Is Nothing Then
    If conn.State <> 0 Then conn.Close
    Set conn = Nothing
End If

Set oRoot = Nothing
Set oDomain = Nothing
End Function

Répondre à prog10

2

 Active directory, le 18 jun 2009 à 09:37:00

SVP c'est urgent, et je patoge !

Répondre à Active directory
Collection CommentÇaMarche.net