在创建 Windows 域帐户后设置组织单位 (OU)



以下 C# 代码创建一个 Windows 域用户帐户

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "DOMAIN"))
{
  UserPrincipal uc = new UserPrincipal(pc, "username", "password", true);
  uc.Save();
}

如何在创建账户时指定 OU?看起来应该很简单,但我没有运气。我尝试使用LDAP,但在几条"未知错误(0x80005000)"消息后放弃了。有没有办法使用用户主体,组主体或其他我尚未找到的主体来做到这一点?

你应该这样做:

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "DOMAIN", "OU=ou1" , "OU=ou2" , DC=yourdomain, DC=com, username, password))

这是来自我的代码:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "IPAddress", "OU=NEW, OU=CloudUsers, DC=yourdomain, DC=com", username, password);

抱歉我现在无法测试它,但我认为您应该使用 PrincipalContext 构造函数,该构造函数允许您将 OU 指定为容器:http://msdn.microsoft.com/en-us/library/bb348316(v=vs.110).aspx

要添加新的 OU,请编写以下代码:

GroupPrincipal newOU = new GroupPrincipal(pc);
            newOU.Name = "yourOUName";
            newOU.Save();