Active directory 无法在ActiveDirectory中创建新对象

Active directory 无法在ActiveDirectory中创建新对象,active-directory,Active Directory,我正在尝试向Active Directory中现有的组织单元添加新对象。下面的代码用于执行此操作 它运行时没有错误。但在此之后不会创建新对象。请告诉我我做错了什么 using System.DirectoryServices; using System.DirectoryServices.ActiveDirectory; namespace TestAdObjectCreation { class Program { static void Main(strin

我正在尝试向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();
        }
    }
}

你想创建什么样的对象

首先,所有LDAP对象都有前缀,
DC=
表示域组件,
OU=
表示组织单元,
CN=
表示公共名称

此外,许多LDAP对象对它们需要被视为有效的内容有最低要求;e、 g.用户或组必须具有唯一的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;
    } 
}

马克,我试着按照你的建议修改代码。毫无例外。但对象也没有被创建。实际上,我正在尝试创建一个在AD模式中定义的自定义类的对象。对于这个问题,如果还有其他想法,我将不胜感激。:)呵呵!我终于明白了!我在根节点上调用CommitChanges,假设提交将传播到整个子树。但结果是,应该分别对每个元素调用CommitChanges。