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