1

AD でセキュリティ グループのリストを取得しようとしていますが、うまくいきません。Active Directory ユーザーとコンピューター MMC を確認すると、次のように表示されます。

blah.blah.com (top)
Group 1
  Group1_1
  Group1_2
    Group1_2_1
Group2

等々。必要なのは、Group1_2_1 のすべてのセキュリティ グループです。検索フィルターとして "(&(objectClass=group))" を使用して DirectoryEntry と DirectorySearcher を使用しようとしましたが、Active Directory ユーザーとコンピューター MMC でさえ見つからないものを取得します。

これは私がC#コードに持っているものです:

        // Binding path. 
        string strPath = "LDAP://<domain_name>.ABC.DEF.COM";

        // Binding object. 
        DirectoryEntry objADAM = default(DirectoryEntry);
        // Group Results. 
        DirectoryEntry objGroupEntry = default(DirectoryEntry);
        // Search object. 
        DirectorySearcher objSearchADAM = default(DirectorySearcher);
        // Results collection. 
        SearchResultCollection objSearchResults = default(SearchResultCollection);
        // Construct the binding string. 
        List<string> result = new List<string>();            

        // Get the AD LDS object. 
        try
        {
            objADAM = new DirectoryEntry(strPath);
            objADAM.RefreshCache();
        }
        catch (Exception e)
        {
            throw e;
        }

        // Get search object, specify filter and scope, 
        // perform search. 
        try
        {
            objSearchADAM = new DirectorySearcher(objADAM);
            objSearchADAM.Filter = "Group1_2_1 (groupType:1.2.840.113556.1.4.803:=2147483648)";
            //objSearchADAM.Filter = "(&(objectCategory=group)(OU=Group1_2)(OU=Group1_2_1))";
            objSearchADAM.SearchScope = SearchScope.Subtree;
            objSearchResults = objSearchADAM.FindAll();
        }

ありがとう。

4

2 に答える 2