2012-07-23 17 views
7

Nella mia applicazione ASP.NET ottengo informazioni da Active Directory. Devo avere informazioni su un utente con le informazioni GUID (esempio: a28a6a34dsfdsf57d9e54f945a241), ma non so come posso usare il diritto filtro per questa ricerca:/Come posso trovare un utente con il GUID (objectGUID) Parametro in Active Directory

per esempio se cerco una Cognome Utente:

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(); 

ora ho bisogno di un filtro con il GUID che possa trovare l'unico utente in AD. Il GUID per questa ricerca ho in un UserID stringa = Session [ "UserID"]. ToString()

Tarasov

risposta

17

Non c'è bisogno di cercare, è possibile associare direttamente all'oggetto se si conosce la GUID, ad es

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

(sostituire con il proprio ObjectGUID effettivo).

controllare questa voce MSDN: Using ObjectGUID to Bind to an Object

+0

oh ok provo domani;) Vi do una richiesta – Tarasov

+0

Ok funziona! :) grazie – Tarasov

+0

@Tarasov: contento che abbia aiutato :) Se funziona, puoi anche accettare la risposta. Saluti. –

Problemi correlati