2012-07-23 35 views
7

En mi aplicación ASP.NET recibo información de Active Directory. Debo Información sobre un usuario que contiene la información de GUID (ejemplo: a28a6a34dsfdsf57d9e54f945a241), pero no sé cómo puedo utilizar el derecho de filtro para esta búsqueda:/Cómo puedo encontrar un usuario con el parámetro GUID (objectGUID) en Active Directory

por ejemplo, si la búsqueda de un usuario Apellido:

DirectoryEntry Entry = new DirectoryEntry("LDAP://" + "Domain"); 

      string filter = "(&(objectClass=user)(objectCategory=person)(cn=" + txtBenutzer.Text + "*))"; 

      DirectorySearcher Searcher = new DirectorySearcher(Entry, filter); 

      var q = from s in Searcher.FindAll().OfType<SearchResult>() 
        select new 
        { 
         //GetProperty(s, "objectGUID"), 
         Benutzer = GetProperty(s, "sAMAccountName"), 
         eMail = GetProperty(s, "mail"), 
         Vorname = GetProperty(s, "givenName"), 
         Nachname = GetProperty(s, "sn"), 
         Telefon = GetProperty(s, "telephoneNumber"), 
         UserID = s.GetDirectoryEntry().NativeGuid 

        }; 

      this.myListView.DataSource = q; 
      this.myListView.DataBind(); 

ahora Necesito un filtro con el GUID que pueda encontrar el único usuario en AD. El GUID para esta búsqueda que tengo en una identificación de usuario cadena = Session [ "ID de usuario"]. ToString()

Tarasov

Respuesta

17

No es necesario buscar, puede enlazar directamente al objeto si se conoce el GUID, por ejemplo

var user = new DirectoryEntry("LDAP://<GUID=119d0d80-699d-4e81-8e4e-5477e22ac1b3>"); 

(reemplace con su ObjectGUID real).

Comprobar la entrada de MSDN: Using ObjectGUID to Bind to an Object

+0

oh bien lo prueba mañana;) Te doy una solicitud – Tarasov

+0

Ok es que funciona! :) gracias – Tarasov

+0

@Tarasov: me alegro de que ayudó :) Si funciona, podría aceptar la respuesta también. Aclamaciones. –

Cuestiones relacionadas