我正在尝试从活动目录中获取主目录属性值。
我使用了以下代码:
public static void GetExchangeServerByWwidLdap(string wwid)
{
var exchange = string.Empty;
using (var ds = new DirectorySearcher())
{
ds.SearchRoot = new DirectoryEntry("GC:something");
ds.SearchScope = SearchScope.Subtree;
//construct search filter
string filter = "(&(objectclass=user)(objectcategory=person)";
filter += "(employeeid=" + wwid + "))";
ds.Filter = filter;
string[] requiredProperties = new string[] { "homeDirectory", "homemta" };
foreach (String property in requiredProperties)
ds.PropertiesToLoad.Add(property);
SearchResult result = ds.FindOne();
}
}
当我检查result
对象数据时,我只看到2个值:“homemta”和“adspath”。
“homeDirectory”值在哪里?
我进入AD网站并搜索相同用户的相同值 - 通过网站我可以看到我搜索的所有数据,所以我假设我在某处有代码问题。
我做错了什么?
答案 0 :(得分:0)
您正在尝试从全局目录中检索homeDirectory。
你可以,例如通过ADsPath属性(即“LDAP:// ...”字符串)绑定到用户,然后查询该用户的homeDirectory属性。
或者,如果您只有一个域,则可以在该域内进行搜索,而不是搜索GC。在这种情况下,您将能够检索所需的所有属性。