我的C#代码使用DirectoryServices命名空间来创建域用户帐户。
DirectoryEntry deRoot = new DirectoryEntry("LDAP://OU=MYOU,DC=DOMAIN,DC=LOCAL");
directoryEntry = deRoot.Children.Add("CN=Tony", "user");
directoryEntry.CommitChanges();
directoryEntry.Properties["sAMAccountName"].Value = "Tony1";
directoryEntry.Properties["displayName"].Value = "Tony Danza";
directoryEntry.Invoke("SetPassword", "mypass123");
directoryEntry.CommitChanges();
这成功创建了帐户,但sAMAccountName属性包含一个相当奇怪的值,如$ HGA000-8FP94NQK9R9I或$ NGA000-B3BJ2ELT5OOD。 在我的开发域内执行时,一切都很好。
答案 0 :(得分:2)
尝试在第一个CommitChanges
之前设置sAMAccountName。
也许,因为sAMAccountName是必需属性,所以如果在创建对象时没有提供默认值,系统会给它一个默认值。