вторник, 3 апреля 2012 г.

Получение атрибута доменного объекта в C#

Вводная: Необходимо получить LDAP атрибут доменного компьютера.

Решение:
    class DomainAttribute
    {
        //В качестве параметров получается имя аттрибута и его значение
        public static List<string>  get(string attr, string param)
        {            
            DirectoryEntry dir = new DirectoryEntry();
            DirectorySearcher search = new DirectorySearcher(dir);
 
            search.Filter = "(" + attr +"=" + param + ")";
            search.SearchScope = SearchScope.Subtree;
 
            List<string> elements = new List<string>();
 
            foreach (SearchResult result in search.FindAll())
            {
                elements.Add(result.GetDirectoryEntry().Name);
            }
 
            return elements;
        }
    }    
Вызов класса -
textBox1.Text = string.Join(",", DomainAttribute.get("adminDescription", "TEST").ToArray());