猿问

通过代码创建新用户时在 AD 中填充自定义属性

我对 AD 没有那么多经验,但通过在线查看,我发现了如何通过 C# 以编程方式创建用户。我还阅读了自定义属性,我希望做的是创建一个新的自定义属性,比方说“myNewAttribute”并将其作为用户创建的一部分进行填充。


我曾想,如果我在 AD 中添加这个自定义属性,那么应该可以在每次创建帐户时填充它,但也许每次都需要创建它?


假设不需要每次都创建它,到目前为止,我已经通过执行以下操作创建了用户:


using(var pc = new PrincipalContext(ContextType.Domain, <SERVER HERE>,username,password))

{

    using(var up = new UserPrincipal(pc)){

        up.UserPrincipalName = "whatever";

        up.Save();

    }

}

我理想情况下希望能够做的是:


up.myNewAttribute = "new value here";

这可能吗?如果不可能,我该如何在此处设置属性值?


犯罪嫌疑人X
浏览 73回答 1
1回答

汪汪一只猫

该类UserPrincipal仅公开某些属性。对于任何其他人,您必须访问底层DirectoryEntry对象并直接修改它:((DirectoryEntry)&nbsp;up.GetUnderlyingObject()).Properties["myNewAttribute"].Value&nbsp;=&nbsp;"new&nbsp;value&nbsp;here";如果这是您经常做的事情,另一种选择是创建您自己的类,该类继承自 UserPrincipal 并将该特性公开为属性。这里有一个例子GroupPrincipal,但它同样适用于UserPrincipal:https ://anyrest.wordpress.com/2010/10/14/how-to-use-ad-attributes-not-represented-in-userprincipal-groupprincipal&nbsp;-和-计算机主体/
随时随地看视频慕课网APP
我要回答