【发布时间】:2017-03-07 23:13:40
【问题描述】:
我正在使用 DirectorySearcher 尝试获取 AD 中的用户列表,以将它们与我的应用程序同步,并从各种 SO 源复制代码,但是我没有获得任何属性值。我正在使用以下代码:
DirectorySearcher search = new DirectorySearcher();
SearchResultCollection results = null;
string sDefaultOU = "LDAP://...";
DirectoryEntry de = new DirectoryEntry(sDefaultOU);
string userName = "DonaldDuck";
search = new DirectorySearcher
{
SearchRoot = de,
PropertiesToLoad = { "displayname", "sAMAccountName"},
Filter = "(sAMAccountName=" + userName + ")"
};
results = search.FindAll();
foreach (SearchResult result in results)
{
String name;
if (result.Properties["sAMAccountName"].Count > 0)
{
name = result.Properties["sAMAccountName"][0].ToString();
}
}
但是,名称不是等于“DonaldDuck”,而是“Byte[10]”或 Byte[x],其中 x 是长度。
谁能看到我做错了什么。
如果我添加一个过滤器,它会返回一个用户,所以我很确定代码在搜索方面是有效的
【问题讨论】:
标签: c# asp.net active-directory ldap