Добавить нового пользователя в Active Directory - PullRequest
1 голос
/ 20 января 2012

Я использую VS2005 .NET 2.0 C #.

В настоящее время я ссылаюсь на веб-сайт по внедрению управления пользователями AD на веб-странице asp.

Я видел один метод, который adds user to group.

Однако есть некоторые параметры, которые я не понимаю и не знаю, чем их заменить.

Ниже приведен метод:

public void AddToGroup(string userDn, string groupDn)
{
    try
    {
        DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn);
        dirEntry.Properties["member"].Add(userDn);
        dirEntry.CommitChanges();
        dirEntry.Close();
    }
    catch (System.DirectoryServices.DirectoryServicesCOMException E)
    {
        //doSomething with E.Message.ToString();

    }
}

userDn и groupDn объяснено, но я до сих пор не знаю, что заполнить

userDn: отличительное имя пользователя: CN=user, OU=USERS, DC=contoso, DC=com groupDn: отличительное имя группы: CN=group,OU=GROUPS,DC=contoso,DC=com

Могу ли я узнать, что это за 2 параметра и откуда их взять?

1 Ответ

2 голосов
/ 20 января 2012

Каталог - это дерево, в котором каждый объект является узлом.Каждый объект в этом трее получил отличительное имя (DN), он выглядит как DNS-имя компьютера.Вы можете взглянуть на свой Active-Directory с помощью LDAP-видения, используя инструмент LDP.EXE из набора ресурсов (или изначально устанавливается на W2K8).Вы найдете здесь под одним видением AD LDAP

LDP vision of an AD

для

MMC vision of an AD

Как их найти:

Для группы:

DirectoryEntry deBase = new DirectoryEntry("LDAP://dom.fr/dc=dom,dc=fr");
/* Directory Search for a group
 */
DirectorySearcher dsLookForGrp = new DirectorySearcher(deBase);
dsLookForGrp.Filter = String.Format("(cn={0})", "yourgroup");
dsLookForGrp.SearchScope = SearchScope.Subtree;
dsLookForGrp.PropertiesToLoad.Add("distinguishedName");
SearchResult srcGrp = dsLookForGrp.FindOne();

string groupDN = srcGrp.Properties["distinguishedName"][0];

Для пользователя:

/* Directory Search
 */
DirectorySearcher dsLookForUser = new DirectorySearcher(deBase);
dsLookForUser.Filter = String.Format("(&(objectCategory=person)(sAMAccountName={0}))", YourUser);
dsLookForUser.SearchScope = SearchScope.Subtree;
dsLookForUser.PropertiesToLoad.Add("distinguishedName");
dsLookForUser.PropertiesToLoad.Add("userPrincipalName  ");
dsLookForUser.PropertiesToLoad.Add("sAMAccountName");
SearchResult srcUser = dsLookForUser.FindOne();

string userDN = srcUser .Properties["distinguishedName"][0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...