У меня есть метод, который я использую для получения списка отделов в нашем активном каталоге. Однако некоторые (по крайней мере, один, о котором я знаю) не появляются. "EMP-Alumni Relations" - это то, над чем я сейчас работаю.
Вот код, который я использую. Если кто-то может определить какие-либо потенциальные проблемы, я был бы признателен. Я в растерянности на данный момент. Я определил несколько пользователей, которые находятся в отделе, поэтому я знаю, что это не должно быть проблемой.
ArrayList GetAdDepts ( )
{
DirectoryEntry myLdapConnection = SCDirectoryEntry.GetDirectoryEntry ( );
DirectorySearcher search = new DirectorySearcher ( myLdapConnection );
search.Filter = "(objectClass=user)";
search.PropertiesToLoad.Add ( "department" );
SearchResultCollection result = search.FindAll ( );
ArrayList departments = new ArrayList ( );
foreach ( SearchResult depart in result )
{
DirectoryEntry directoryEntry = depart.GetDirectoryEntry ( );
if ( directoryEntry.Properties.Contains ( "department" ) )
{
string dept = ( string ) depart.Properties [ "department" ] [ 0 ];
if ( dept.Trim ( ).StartsWith ( "EMP-" ) )
{
if ( !departments.Contains ( dept ) )
{
departments.Add ( dept );
}
}
}
}
return departments;
}