无法在Active Directory中创建新对象

时间:2010-05-22 11:43:42

标签: active-directory

我正在尝试将新对象添加到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 :(得分:0)

你想创造什么样的对象?

首先,所有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;
    } 
}