下面的代码让我的用户组中,但它返回 "CN=johnson\,Tom,OU=Users,OU=Main,DC=company,DC=com"
获取用户名通过.NET
我只想返回第一个和最后一个名字。我怎样才能做到这一点?
DirectoryEntry ou = new DirectoryEntry();
DirectorySearcher src = new DirectorySearcher();
src.Filter = ("(&(objectClass=group)(CN=Gname))");
SearchResult res = src.FindOne();
if (res != null)
{
DirectoryEntry deGroup = new DirectoryEntry(res.Path);
PropertyCollection pcoll = deGroup.Properties;
foreach (object obj in deGroup.Properties["member"])
{
ListBox1.Items.Add(obj.ToString());
}
}
下面是不是一个真正的答案,只是一个警告:从调用[DirectorySearcher.FindAll]换你的DirectoryEntry,和的DirectorySearcher特别任何SearchResultCollections(例如(HTTP ://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.findall.aspx))在using语句中,或try/finally与Dispose调用。 SearchResultCollections不能被垃圾收集。在使用我在网上找到的例子后,我查找了几天的内存泄漏,但没有处理任何内容。仔细检查MS文档以查看搜索Active Directory涉及哪些类hav – 2011-03-02 05:06:22