1

我正在开发一个可以处理 MS-ADLDS-Service 的应用程序。目前可以创建目录条目并将值分配给某些属性。在此之前不是一个真正令人兴奋的任务:

在我的应用程序中,可以(应该)配置类的哪些属性(例如:CN=Person 类)应该分配有在我的应用程序运行时评估的值。

长话短说: 我想检索一个类的所有(可写)属性。之前没有创建和保存新的 CN=Person-Object 。

目前我使用我的 schemaBinding 来获取 Person-Class (CN=Person) 的 Directory-classSchema-Entry,从中我读取了一些属性值(如“AllowedAttributesEffective”、“mayContain”、“AllowedAttributes”) - 我得到的最多通过这种方式属性 - 但缺少一些属性!例如“telephoneNumber”-Property (attributeSchema: CN=Telephone-Number)

有谁知道如何获得一个类的这些属性?ADSI-Edit 这样做:当我使用 adsi-edit 创建一个新对象时,我可以在提交新条目之前为所有可能的属性分配值。

非常感谢任何提示!

(欢迎使用.net 代码)

4

1 回答 1

1

我找到了我的任务的解决方案!

其中一些属性是“计算的”,并且不会在目录条目中持久存在。所以它的意思是调用RefreshCache()方法并将所需的属性名称作为字符串数组传递。

directoryEntry.RefreshCache(new string[] { "allowedAttributesEffective",
                                            "allowedAttributes",
                                            "systemMayContain",
                                            "systemMustContain" });

在那次调用之后,属性具有值....

if (directoryEntry.Properties["systemMayContain"]).Value != null)
   {
    /// Success
   }
于 2014-11-12T15:53:52.900 回答