C# 在active directory中为不同域创建OU
我正在尝试设置代码以在active directory中创建新的OU(组织单位) 目标是复制Active Directory中SSO的安全结构,并自动化用户配置 我有可以使用PrincipalContext创建组和用户的工作代码 我连接到的域控制器位于不同的域中,因为它是一台测试计算机。我已将计算机设置为将此测试控制器用于DNS,并且在主机文件中有一个条目 当我运行下面的代码时,我没有得到任何错误。但每当我检查active directory时,都没有证据表明OU是创建的C# 在active directory中为不同域创建OU,c#,ldap,directoryentry,C#,Ldap,Directoryentry,我正在尝试设置代码以在active directory中创建新的OU(组织单位) 目标是复制Active Directory中SSO的安全结构,并自动化用户配置 我有可以使用PrincipalContext创建组和用户的工作代码 我连接到的域控制器位于不同的域中,因为它是一台测试计算机。我已将计算机设置为将此测试控制器用于DNS,并且在主机文件中有一个条目 当我运行下面的代码时,我没有得到任何错误。但每当我检查active directory时,都没有证据表明OU是创建的 public stat
public static void CreateOU()
{
DirectoryEntry domain = new DirectoryEntry("LDAP://testdomain.test.com/DC=test,DC=com", "username", "password");
domain.Children.Add("AnotherOU", "OrganizationalUnit");
domain.CommitChanges();
}
如果我输入了无效的ldap路径或删除了testdomain.test.com,我肯定会在查找OU时出现登录错误(连接到错误的域)或其他错误
编辑-正在使用的帐户是域管理员
编辑-添加到下面的答案。我还必须将AnotherOU名称更改为OU=AnotherOU,否则会出现命名冲突错误。尝试以下方法:
public static void CreateOU()
{
DirectoryEntry domain = new DirectoryEntry("LDAP://testdomain.test.com/DC=test,DC=com", "username", "password");
DirectoryEntry newOU = domain.Children.Add("AnotherOU", "OrganizationalUnit");
newOU.CommitChanges();
}
您必须对新创建的对象而不是父对象调用CommitChanges()。DirectoryEntry的构造函数中使用的帐户权限如何?该帐户现在是域管理员。我可以登录到控制器并使用Active Directory用户和计算机手动创建OU。使用
PrincipalContext
的示例?