C# ldap循环通过OU并获取用户c
我在服务器上有一则广告。 例如,这是我的结构 -A ->彼得 --B -->萨布丽娜 --BA --->约翰 --咩 ---->坦率的 --BB --->迈克尔 -C 我想从B开始遍历这些组,只获取用户。 在这个例子中,我应该有以下用户John、Frank、Michael、Sabrina。 我可以用过滤器取吗?找到了解决方案: 首先,我得到所有OU和嵌套OU的列表。 然后我在我的列表中循环查找我的用户C# ldap循环通过OU并获取用户c,c#,ldap,C#,Ldap,我在服务器上有一则广告。 例如,这是我的结构 -A ->彼得 --B -->萨布丽娜 --BA --->约翰 --咩 ---->坦率的 --BB --->迈克尔 -C 我想从B开始遍历这些组,只获取用户。 在这个例子中,我应该有以下用户John、Frank、Michael、Sabrina。 我可以用过滤器取吗?找到了解决方案: 首先,我得到所有OU和嵌套OU的列表。 然后我在我的列表中循环查找我的用户 List<string> orgUnits = new List&
List<string> orgUnits = new List<string>();
DirectoryEntry startingPoint = new DirectoryEntry("LDAP://OU=STARTINGOU,DC=intranet,DC=pspiess,DC=local");
DirectorySearcher searcher = new DirectorySearcher(startingPoint);
searcher.Filter = "(objectCategory=organizationalUnit)";
foreach (SearchResult res in searcher.FindAll()) {
orgUnits.Add(res.Path);
}
orgUnits.ForEach(delegate(String orgUnit) {
var entry = new DirectoryEntry(orgUnit);
var aDs = new DirectorySearcher(entry) { Filter = "(&(objectCategory=Person)(objectClass=user))" };
foreach (SearchResult aSr in aDs.FindAll()) {
//Some Code
}
});