我正在开发一个可以处理MS-ADLDS服务的应用程序。 目前,可以创建目录条目并为某些属性分配值。 在此之前,这不是一项令人兴奋的任务:
在我的应用程序中,可能(应该是)配置类的哪些属性(例如:CN = Person类)应该分配在我的应用程序中运行时评估的值。
长话短说: 我想检索一个类的所有(可写)属性。无需在之前创建和保存新的CN = Person-Object。
目前我使用我的schemaBinding来获取Person-Class(CN = Person)的Directory-classSchema-Entry,从中我读取一些属性值(如“AllowedAttributesEffective”,“mayContain”,“AllowedAttributes”) - i通过这种方式获得最多的属性 - 但缺少一些属性!例如“telephoneNumber”-Property(attributeSchema:CN = Telephone-Number)
有人知道如何获得课程的这些属性吗? ADSI-Edit执行此操作:当我使用adsi-edit创建新对象时,我可以在提交新条目之前为所有可能的属性赋值。
非常感谢任何提示!
(。欢迎使用网络代码)
答案 0 :(得分:1)
我已经为我的任务找到了解决方案!
其中一些属性是“计算”的,并且在目录条件下不是持久的。
因此,它意味着调用RefreshCache()
方法并将所需的属性名称作为字符串数组传递。
directoryEntry.RefreshCache(new string[] { "allowedAttributesEffective",
"allowedAttributes",
"systemMayContain",
"systemMustContain" });
在该调用之后,属性具有值....
if (directoryEntry.Properties["systemMayContain"]).Value != null)
{
/// Success
}