не может создать новый объект в ActiveDirectory - PullRequest
1 голос
/ 22 мая 2010

Я пытаюсь добавить новый объект в существующую организационную единицу в Active Directory.Следующий код используется для этого.

Работает без ошибок.Но новый объект не создается после этого.Посоветуйте пожалуйста, что я тут делаю не так.

using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;

namespace TestAdObjectCreation
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryEntry root = new DirectoryEntry("LDAP://servername/OU=Services,OU=PCX,DC=q2q,DC=xenyq,DC=com", "Administrator", "pass");
            DirectoryEntry newItem = root.Children.Add("test_node", "valid_schema_class_name");
            root.CommitChanges();
            root.Close();
            root.Dispose();
        }
    }
}

1 Ответ

0 голосов
/ 22 мая 2010

Какой тип объекта вы пытаетесь создать ??

Прежде всего, все объекты LDAP всегда имеют префикс, DC= для компонента домена, OU= для организационной единицы, CN= дляобщее имя.

Кроме того, многие объекты LDAP предъявляют минимальные требования к тому, что они должны считаться допустимыми;например, пользователь или группа должны иметь уникальное имя samAccountName.

Итак, еще раз - что вы пытаетесь создать ??

Если вы заключите свой код создания в try..catch - выполучить какие-либо исключения?Если так - что они ??

static void Main(string[] args)
{
    DirectoryEntry root = new DirectoryEntry("LDAP://servername/OU=Services,OU=PCX,DC=q2q,DC=xenyq,DC=com", "Administrator", "pass");

    try
    {
        DirectoryEntry newItem = root.Children.Add("CN=test_node", "valid_schema_class_name");

        root.CommitChanges();
    }
    catch(Exception exc)
    {
       string error = exc.GetType().FullName + ": " + exc.Message;
    } 
}
...