1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| Private Sub ButtonFindUserLdap_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonFindUserLdap.Click
'Variables
'Valeur du filtre login
Dim UserSearch As String = CB_LdapUser.Text
'Manipulation de la chaine Manager (issu de la LDAP)
Dim returnManager As String
Dim Manager As String
Dim myInteger As Integer
'variables de manipulation de chaine dcxObjectOwner
Dim Chaine As String
Dim Tableau() As String
Dim finalManager As String
Dim CheminLdap As String = "LDAP://DC=corpdir,DC=net"
Dim NomConnectLdap As String = "LdapUser"
Dim PassConnectLdap As String = "Password:-)"
Try
'Connexion à l'annuaire LDAP
Dim monEntryLDAP As New DirectoryEntry(CheminLdap, _
NomConnectLdap, _
PassConnectLdap)
Try
' Nouvel objet pour instancier la recherche
Dim maRecherche As DirectorySearcher = New DirectorySearcher(monEntryLDAP)
' On modifie le filtre pour ne chercher que l'user dont le nom de login est celui selectionner
maRecherche.Filter = "(SAMAccountName=" & UserSearch & ")"
' Recherche de l'user user
Dim result As SearchResult = maRecherche.FindOne()
' On récupère l'objet trouvé lors de la recherche
Dim FindUser As DirectoryEntry = result.GetDirectoryEntry()
Me.TB_Service.Text = (FindUser.Properties("dcxCostCenter").Value)
Me.TB_LogEMEA.Text = (FindUser.Properties("sAMAccountName").Value) 'login
Me.TB_NomUtilisateur.Text = (FindUser.Properties("sn").Value) 'Nom
Me.TB_PrenomUtilisateur.Text = (FindUser.Properties("givenName").Value) 'Prenom
'Mise en forme du manager si il est implémenté
If FindUser.Properties("manager").Value <> "" Then
Manager = FindUser.Properties("manager").Value
'Index du caractère (
myInteger = Manager.IndexOf("(")
'Soustraction de la chaine de 0 à l'index (
returnManager = Manager.Substring(0, myInteger)
'Remplacement des chaines
returnManager = returnManager.Replace("\,", "")
finalManager = returnManager.Replace("CN=", "")
Me.TB_Manager.Text = finalManager
'Si le manager n'est pas implémenté ce qui est valable pour les externes
'On regarde le champs dcxObjectOwner qui contient sAMAccountName
'Et on prend cette valeur
ElseIf FindUser.Properties("dcxObjectOwner").Value <> "" Then
'Traitement de la chaine de char dcxObjectOwner
Chaine = FindUser.Properties("dcxObjectOwner").Value
Tableau = Chaine.Split(" ")
returnManager = Tableau(3).Replace("sAMAccountName=", "")
finalManager = returnManager.Replace("""", "")
Me.TB_Manager.Text = finalManager
End If
'Fermeture de la connexion
monEntryLDAP.Close()
Catch ex As Exception
MsgBox("Erreur lors de la connexion Ldap " & ex.Message & " " & ex.ToString)
End Try
Catch ex As Exception
MsgBox("Erreur lors de la connexion Ldap " & ex.Message & " " & ex.ToString)
End Try
End Sub |
Partager