我有一个代码来获取域内的OU列表。
现在这只列出了所有的OU,并没有给出区分OU和子OU的方法。
DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = ("(objectClass=organizationalUnit)");
foreach (SearchResult temp in mySearcher.FindAll())
{
OU_DownList.Items.Add(temp.Properties["name"][0].ToString());
}
有没有办法可以获得OU的完全限定名称?
对于子OU这样的事情:
CN=Computer1,OU=Department 101,OU=Business Unit #1,DC=us,DC=xyz,DC=com
感谢任何帮助......谢谢
答案 0 :(得分:5)
temp.Path
应该为您提供每个OU的distinguishedName。
答案 1 :(得分:1)
使用Path
中的SearchResult
媒体资源,与temp.Path
一样,请参阅link。
Path属性唯一标识 Active Directory中的此条目 层次结构。这个条目总是如此 使用此路径检索。
您可以使用以下源代码枚举所有可用属性:
foreach(string propKey in temp.Properties.PropertyNames)
{
// Display each of the values for the property identified by
// the property name.
foreach (object property in temp.Properties[propKey])
{
Console.WriteLine("{0}:{1}", propKey, property.ToString());
}
}