我正在研究AD用户管理应用程序。 C#,UserPrincipal。所以我需要为AD shema添加一些额外的属性,其中一个是BirthDate。
我们的AD服务器是2012 R2域控制器。 我正在关注手册:
更新1 因此,建议使用扩展属性。这是我做的第一件事。
[DirectoryObjectClass("user")]
[DirectoryRdnPrefix("CN")]
public class UserPrincipalEx : UserPrincipal
{
private const string _jobTitle = "extensionAttribute1";
[DirectoryProperty(_jobTitle)]
public string JobTitle
{
get
{
if (ExtensionGet(_jobTitle).Length != 1)
return null;
return (string)ExtensionGet(_jobTitle)[0];
}
set
{
this.ExtensionSet(_jobTitle, value);
}
}
}
然后 userPrincipal.Save(); 导致“System.DirectoryServices.AccountManagement.PrincipalOperationException”,消息“指定的值或属性目录服务不存在。”