Active Directory 内の部門のリストを取得するために使用している方法があります。ただし、一部 (少なくとも私が知っているもの) は表示されません。「EMP-同窓会関係」は、現在トラブルシューティングを行っているものです。
これが私が使用しているコードです。誰かが潜在的な問題を特定できるなら、私はそれを感謝します. 私は今のところ途方に暮れています。私は、部門内にいる何人かのユーザーを特定したので、それが問題であってはならないことを知っています。
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;
}