Noutro dia precisei de ir ler o nome dos utilizadores na Active Directory. Fica o resultado: VB.NETImports System.DirectoryServices Public Class teste Function GetLdapUserName(ByVal login As String) As String Dim oroot As DirectoryEntry = New DirectoryEntry("LDAP://servidor:porta/DC=xpto,DC=com", "user", "password") Dim osearcher As DirectorySearcher = New DirectorySearcher(oroot) Dim oresult As SearchResultCollection Dim result As SearchResult osearcher.Filter = "(&(cn=" + login + "))" ' filtro de procura osearcher.PropertiesToLoad.Add("displayName") ' propriedade a ler oresult = osearcher.FindAll() For Each result In oresult If Not result.GetDirectoryEntry.Properties("displayName").Value Is Nothing Then Return (result.GetDirectoryEntry.Properties("displayName").Value) End If Next Return "Não foi possivel obter o seu nome..." End Function End ClassOutras propriedades que podem ser lidas na Active Directory:
osearcher.PropertiesToLoad.Add("ou") ' organizational unit osearcher.PropertiesToLoad.Add("userPrincipalName") ' login name osearcher.PropertiesToLoad.Add("distinguishedName") ' distinguised name osearcher.PropertiesToLoad.Add("name") ' full name osearcher.PropertiesToLoad.Add("givenname") ' firstname osearcher.PropertiesToLoad.Add("sn") ' lastname osearcher.PropertiesToLoad.Add("mail") ' mail