作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试从事件目录中检索“AccountExpirationDate”时遇到一个奇怪的问题。
我使用以下代码检索用户:
DirectoryEntry dirEntry = new DirectoryEntry(Path);
DirectorySearcher search = new DirectorySearcher(dirEntry);
// specify the search filter
search.Filter = "(&(objectClass=user)(mail=" + email + "))";
// perform the search
SearchResult result = search.FindOne();
DirectoryEntry user = result.GetDirectoryEntry();
然后我检索“AccountExpirationDate”:
object o1 = user.Properties["accountExpires"].Value; //return a COM object and I cannot retrieve anything from it
object o2 = user.Properties["AccountExpirationDate"].Value; //return null
object o3 = user.InvokeGet("AccountExpirationDate"); //return the DateTime
所以我想知道这里发生了什么?为什么我不能使用 DirectoryEntry.Properties 来检索 AccountExpirationDate?DirectoryEntry.Properties 与 DirectoryEntry.InvokeGet 之间有什么区别?
非常感谢。
最佳答案
您可以告诉 directorySearcher 加载哪些属性,如下所示:
// specify the search filter
search.Filter = "(&(objectClass=user)(mail=" + email + "))";
search.PropertiesToLoad.Add("AccountExpirationDate");
search.PropertiesToLoad.Add("displayname");
执行搜索后,您需要遍历 SearchResult 的属性以获取值即
object o1 = result.Properties["AccountExpirationDate"][0];
DirectoryEntry.Properties - 获取此 DirectoryEntry 对象的 Active Directory 域服务属性。DirectoryEntry.InvokeGet - 从 native Active Directory 域服务对象获取属性。
//微软不推荐使用InvokeGet方法。
关于c# DirectoryEntry.Properties 与 DirectoryEntry.InvokeGet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25013472/
当我尝试从事件目录中检索“AccountExpirationDate”时遇到一个奇怪的问题。 我使用以下代码检索用户: DirectoryEntry dirEntry = new Di
我是一名优秀的程序员,十分优秀!