Получить полное имя OU - PullRequest
       42

Получить полное имя OU

1 голос
/ 05 апреля 2011

У меня есть код для получения списка подразделений в домене.

Теперь это просто перечисляет все OU и не позволяет различать OU и sub OU.

DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain);

DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = ("(objectClass=organizationalUnit)");

foreach (SearchResult temp in mySearcher.FindAll())
{
   OU_DownList.Items.Add(temp.Properties["name"][0].ToString());
}

Есть ли способ получить полное имя подразделения?

Что-то вроде этого для субподразделения:

CN=Computer1,OU=Department 101,OU=Business Unit #1,DC=us,DC=xyz,DC=com

Любая помощь приветствуется ... спасибо

Ответы [ 2 ]

5 голосов
/ 05 апреля 2011

temp.Path должен получить отличительное имя каждого подразделения.

1 голос
/ 05 апреля 2011

Используйте свойство Path из SearchResult, как в temp.Path, см. ссылка .

Свойство Path однозначно идентифицирует эта запись в Active Directory иерархия. Запись всегда может быть получено по этому пути.

Вы можете перечислить все доступные свойства со следующим исходным кодом:

foreach(string propKey in temp.Properties.PropertyNames)
{
    // Display each of the values for the property identified by
    // the property name.
    foreach (object property in temp.Properties[propKey])
    {
        Console.WriteLine("{0}:{1}", propKey, property.ToString());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...