2012-07-23 13 views
7

ASP.NET Uygulamamda Active Directory'den Bilgiler alırım. Ben GUID Informations (örnek: a28a6a34dsfdsf57d9e54f945a241) ile bir Kullanıcıya ait Informations almak gerekir ama bu arama için filtre hakkını kullanabilir bilmiyorum: Örneğin/Active Directory'de GUID (objectGUID) Parametresi olan bir Kullanıcıyı nasıl bulabilirim

Bir Kullanıcı Soyadı için arama yaparsanız:

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

Şimdi GUID'le bir filtreye ihtiyacım var, AD içindeki tek ve tek kullanıcıyı bulabiliyorum. Ben bir dize kullanıcı kimliği = Session [ "Kullanıcı kimliği"] sahip bu Arama için GUID. ToString()

Tarasov Bildiğiniz eğer aramanıza gerek yok

cevap

17

, sen nesneye doğrudan bağlayabilir GUID, örn.

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

(gerçek ObjectGUID ile değiştirin).

Kontrol Bu MSDN girdisi: Using ObjectGUID to Bind to an Object

+0

tamam oh yarın test;) Sana – Tarasov

+0

Tamam çalışır bir istek ver! :) Teşekkürler – Tarasov

+0

@Tarasov: Yardım ettiğine sevindim :) Çalışırsa, cevabı da kabul edebilirsin. Şerefe. –

İlgili konular