Как связать всех пользователей в Active Directory с выпадающим списком на сайте SharePoint? - PullRequest
1 голос
/ 18 января 2011

Я пытаюсь сделать то, что описывает тема, и мой код пока:

DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://myDomain/DC=somecollege, DC=someState, DC=edu", myUser, myPassword);
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.Filter = "(&(objectCategory=Person))";

SearchResultCollection searchResult = directorySearcher.FindAll();

foreach (SearchResult srUSers in searchResult)
{
    DirectoryEntry de = srUsers.GetDirectoryEntry();
    lbSiteOwnerGroups.Items.Addd(New ListItem(de.Name.ToString()));
}

С этим кодом все люди привязываются к выпадающему меню, но формат: CN = lastName firstName Как я могу получить только имена, а не "CN =", я предполагаю, что вам не нужно манипулировать строками здесь.

Если я попытаюсь с de.Path.Tostring (), это будет выглядеть так:

<option value="LDAP://myDomain/CN=DOE John, OU=IT, OU=_someville_NonTeaching, OU=Staff_someville, DC=somecollege, DC=nsw, DC=edu,DC=au">LDAP://myDomain/CN=DOE John, OU=IT, OU=Staff_someville_NonTeaching, OU=Staff_someville, DC=somecollege, DC=fl, DC=edu,DC=com<option>

Я видел, что я могу использовать de.Properties ["mail"]. ToString () например, но выдает ошибку "оператор вернул ошибку". Я не работал с AD раньше, и я, если я свяжусь с администратором AD, какие вопросы я должен задать ему, если вопросы, которые у меня есть, требуют ответа от фактического администратора?

Кроме того, существует поддомен или дочерний домен, который называется Staff. Как я могу получить пользователей только из этого домена?

Заранее спасибо.

1 Ответ

0 голосов
/ 18 января 2011

Я думаю, что это должно быть похоже на следующий код:

foreach (SearchResult srUsers in searchResult)
{
    DirectoryEntry de = srUsers.GetDirectoryEntry();
    lbSiteOwnerGroups.Items.Add(new ListItem(de.Properties["CN"].Value.ToString()));
} 

РЕДАКТИРОВАТЬ

Я не видел вторую частьвопрос.Если вы хотите, чтобы пользователи только из дочернего домена, вы можете привязать ваш DirectorySearcher к дочернему домену.Таким образом, вместо использования

LDAP://myDomain/DC=somecollege, DC=someState, DC=edu

Вы должны использовать что-то вроде этого

LDAP://childdomain.myDomain/DC=childdomain,DC=somecollege, DC=someState, DC=edu

Вам необходимо найти правильный корневой путь LDAP-домена для вашего дочернего домена.Я могу опубликовать дополнительную информацию, если вам нужна помощь по этому вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...