0

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;
    }
4

1 に答える 1