我有以下代码......
// List of strings for your names
List<string> allUsers = new List<string>();
using (var context = new PrincipalContext(ContextType.Domain, "bellbain.local"))
{
using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
{
foreach (var result in searcher.FindAll())
{
DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
// allUsers.Add(("First Name: " + de.Properties["givenName"].Value));
allUsers.Add(de.Properties["sAMAccountName"].Value.ToString());
}
}
}
listBox1.DataSource = allUsers;
这可以很好地创建我所有用户名的列表,但是我只希望特定OU中的用户名列表。我在网上找到了一些例子,但是无法准确理解如何将它们应用到我的情况中。
<树>&#39;树&#39;在Active目录中mydomain.local&gt; MyBusiness&gt;用户&gt; SBSUsers&gt; TestDept
我需要一个仅包含Test Dept OU中用户的列表。
我试过了......
//名称的字符串列表 列出allUsers = new List();
string ou = "OU=TestDept,DC=mydomain.local";
using (var context = new PrincipalContext(ContextType.Domain, "bellbain.local",ou))
{
using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
{
foreach (var result in searcher.FindAll())
{
DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
// allUsers.Add(("First Name: " + de.Properties["givenName"].Value));
allUsers.Add(de.Properties["sAMAccountName"].Value.ToString());
}
}
}
listBox1.DataSource = allUsers;
但是列表框是空的......