LDAP查询操作属性

时间:2011-10-31 20:08:38

标签: c# active-directory ldap

我正在使用System.DirectoryServices库来查询LDAP目录。我看到所有文本属性都很好,但我需要检索一些操作属性,如pwdChangedTime。尝试获取这些属性时,我得到一个对象未​​设置为对象'类型错误的实例。

using (DirectorySearcher search = new DirectorySearcher(dirCon,
                    ldapSearchFilter.Replace("{cn}", cn),
                    new string[] {"*","+"},
                    SearchScope.Subtree))
{
   foreach (SearchResult sr in search.FindAll())
   {
       la = new LdapAccount();
       la.pswdUpdateTime = DateTime.ParseExact(sr.GetDirectoryEntry().Properties["pwdchangedtime"].ToString(), dateFormat, null);
...
}

我看到了所有文字属性,但找不到任何操作属性。

1 个答案:

答案 0 :(得分:1)

在本地进行一些测试我在pwdlastset上看到属性SearchResult,所以我想知道属性名称是不是你期望的那样。

result.Properties["pwdlastset"]

SearchResult Properties集合中还有一个PropertyNames集合可能很有用。另外,当我在调用GetDirectoryEntry()之前查询AD时,只是直接从SearchResult枚举属性。