Vraag : C# - win de Gebruikers van de Actieve Groep van de Folder het van wie terug Lidmaatschap PRIMAIR is

Ik moet alle gebruikers van een „Primaire Groep“ krijgen.  bijvoorbeeld, wanneer a een Vraag LDAP op de leden „van de Gebruiker van het Domein“ doet, krijg ik niets - dit is omdat alle actuallleden die tot het de „Gebruikers behoren van het Domein“ aangezien hun primaire groep hebben - ik reeds berekende hoe te om een Primaire Groep van Gebruikers te krijgen (hieronder) - nu de behoefte van I te krijgen dat de Leden van Primaire Groepen, bijvoorbeeld, ik in de Gebruikers overga van het Domein en ik achteruser1, user2, enz. krijg - Thanks

" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
public statisch koord GetUsersPrimaryGroup (koord samAccountName)
        {
            probeer
            {
            
                DirectorySearcher srch = Util.SearchUsers (100, samAccountName, vals);
                SearchResult userResult = srch.FindOne ();
                De gebruiker van DirectoryEntry = nieuwe DirectoryEntry (userResult.Path);
                byte [] userSid = gebruiker. Eigenschappen [„objectSid“] [0] als byte [];
                user.RefreshCache (nieuw koord [] {„primaryGroupId“});
                int. primaryGroupID = (int.) gebruiker. Eigenschappen [„primaryGroupId“] [0];
                bevrijde byte [] = BitConverter.GetBytes (primaryGroupID);
                voor (int. i = 0; i < bevrijd. Lengte; i++)
                {
                    bevrijd userSid.SetValue ([I], nieuwe lang [] {userSid.Length - (bevrijd. Lengte - I)});
                }
                koord adPath = String.Format („LDAP: //“, BuildOctetString (userSid));
                DirectoryEntry DE = nieuwe DirectoryEntry (adPath);
                //We wil niet schikken tot wij de groepsnaam hebben, die is waarom wij in plaats van terugkeer toewijzen
                koord primaryGroupName = DE. Eigenschappen [„sAMAccountName“] [0] .ToString ();
                terugkeer primaryGroupName;
                
            }
            vangst (ex Uitzondering)
            {
                //throw aan vangst in het roepen van methode (wij willen de details/kunnen beter vinden)
                werp ex;
            }
           
        }
        
        privé statisch koord BuildOctetString (byte [] bytes)
        {
            StringBuilder Sb = nieuwe StringBuilder ();
            voor (int. i = 0; i < bytes. Lengte; i++)
            {
                Sb. Voeg toe (bytes [I] .ToString („X2“));
            }
            keer sb.ToString () terug;
        }

Antwoord : C# - win de Gebruikers van de Actieve Groep van de Folder het van wie terug Lidmaatschap PRIMAIR is


Het zou, twee delen vrij eenvoudig moeten zijn, eerst is de waarde terug te winnen PrimaryGroupToken van de groep, dan een onderzoek uit te voeren:


DirectorySearcher ADSearch = nieuwe DirectorySearcher („(primaryGroupID= + PrimaryGroupToken +“) „);
SearchResultCollection vloeit = ADSearch.FindAll voort ();


Chris
Andere oplossingen  
 
programming4us programming4us