2 votes

Trouver le nom d'utilisateur à partir de l'adresse e-mail dans Active Directory vb.net

Désolé, j'ai vérifié le lien " Trouver un nom d'utilisateur dans Active Directory à l'aide d'un identifiant e-mail "mais c'est pour C#, je n'arrive pas à trouver comment faire en Vb.net.

Dans ma grille, lorsque je sélectionne la ligne pour obtenir l'identifiant de l'email et le passer à AD pour trouver le nom de l'utilisateur, mais jusqu'à présent, je n'arrive pas à comprendre quelle commande va donner ces détails en VB.net.

Protected Sub grdValidate_RowUpdating(sender As Object, e As EventArgs)
    Dim strEmail As String = grdValidate.SelectedRow.Cells(2).Text
    Dim ctx As New PrincipalContext(ContextType.Domain)

    ' find a user
    Dim user As UserPrincipal = UserPrincipal.FindByIdentity(ctx, strEmail)

End Sub

J'ai vu cette propriété "UserPrincipal.EmailAddress" mais VS ne reconnaît même pas la commande. J'ai évidemment importé

Imports System.DirectoryServices
Imports System.DirectoryServices.AccountManagement

J'essaie de trouver une commande pour passer l'email et faire correspondre l'id email dans AD et obtenir les informations de l'utilisateur.

Merci d'avance

0voto

SSS Points 1942

Vous devez ajouter des références .NET à System.DirectoryServices y System.DirectoryServices.AccountManagement et puis...

Using context As New System.DirectoryServices.AccountManagement.PrincipalContext(DirectoryServices.AccountManagement.ContextType.Domain, strDomainName)
  Dim yourUser As System.DirectoryServices.AccountManagement.UserPrincipal = System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(context, strEmailAddress)
  If yourUser IsNot Nothing Then
    strFirstName = yourUser.GivenName
    strLastName = yourUser.Surname
  End If
End Using
MsgBox(strFirstName & " " & strLastName)

J'ai utilisé des noms entièrement qualifiés pour des raisons de clarté, mais vous pouvez mettre de l'ordre dans les choses avec Imports System.DirectoryServices.AccountManagement au début du module

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X