为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
犯罪嫌疑人X 2022-12-31 13:16:18
我对 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";这可能吗?如果不可能,我该如何在此处设置属性值?
查看完整描述

1 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

该类UserPrincipal仅公开某些属性。对于任何其他人,您必须访问底层DirectoryEntry对象并直接修改它:

((DirectoryEntry) up.GetUnderlyingObject()).Properties["myNewAttribute"].Value = "new value here";

如果这是您经常做的事情,另一种选择是创建您自己的类,该类继承自 UserPrincipal 并将该特性公开为属性。这里有一个例子GroupPrincipal,但它同样适用于UserPrincipalhttps ://anyrest.wordpress.com/2010/10/14/how-to-use-ad-attributes-not-represented-in-userprincipal-groupprincipal -和-计算机主体/


查看完整回答
反对 回复 2022-12-31
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信