我正在使用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);
...
}
我看到了所有文字属性,但找不到任何操作属性。
答案 0 :(得分:1)
在本地进行一些测试我在pwdlastset
上看到属性SearchResult
,所以我想知道属性名称是不是你期望的那样。
result.Properties["pwdlastset"]
SearchResult Properties集合中还有一个PropertyNames
集合可能很有用。另外,当我在调用GetDirectoryEntry()
之前查询AD时,只是直接从SearchResult枚举属性。