得到ADLDS级的所有可写性(Get all writeable properties of an

2019-10-21 05:27发布

我正在开发可应对的MS-ADLDS-服务的应用程序。 目前,它可以创建目录条目,并指定值的某些属性。 不是真的令人兴奋的任务,直到这个:

IM我的应用程序有可能(应该是)来配置哪些类(例如:在CN = Person类)的性能应与它们在运行时在我的应用程序的评估值进行分配。

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

目前我使用我的SCHEMABINDING获得人身级的从那里我看了一些属性值目录-的classSchema入境(CN =人)(如“AllowedAttributesEffective”,“mayContain中都未”,“AllowedAttributes”) - 我得到的最通过这样的属性 - 但有些属性丢失! 例如在“telephoneNumber”,物业(的attributeSchema:CN =电话号码)

有谁知道如何获得一个类的这些属性? ADSI,编辑做到这一点:当我创建使用ADSI编辑一个新的对象,我可以提交新条目之前将值分配给所有可能的属性。

非常感谢任何提示!

(.NET代码是欢迎)

Answer 1:

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

其中一些属性是“计算”,并在的DirectoryEntry不持久的。 所以,它的意思调用RefreshCache()方法,并通过所需要的属性名称作为一个字符串数组。

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

该呼叫后,属性具有值....

if (directoryEntry.Properties["systemMayContain"]).Value != null)
   {
    /// Success
   }


文章来源: Get all writeable properties of an ADLDS-Class