Frage : C# - Benutzer der aktiven Verzeichnis-Gruppe zurückholen, deren Mitgliedschaft HAUPTSÄCHLICH ist

Ich muss alle Benutzer einer „Primärgruppe“ erhalten.  z.B. wenn a eine LDAP Frage auf „Gebiets-Benutzer“ Mitgliedern tun, erhalte ich nichts - dieses ist, weil alles actuall Mitglieder, die ihm gehören, haben „Gebiet Benutzer“ als ihr hauptsächlich Gruppe -, das ich bereits herausfand, wie man Benutzer Primärgruppe erhält (unten) - jetzt ich müssen erhalten, dass Mitglieder der Primärgruppen z.B. ich in Gebiets-Benutzer überschreiten und ich user1, user2, usw. zurückbekomme - Thanks

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:
6:
37:
38:
39:
40:
public statische Schnur GetUsersPrimaryGroup (Schnur samAccountName)
        {
            Versuch
            {
            
                DirectorySearcher srch = Util.SearchUsers (100, samAccountName, falsch);
                SearchResult userResult = srch.FindOne ();
                DirectoryEntry Benutzer = neues DirectoryEntry (userResult.Path);
                userSid = Benutzer des Bytes []. Eigenschaften [„objectSid“] [0] als Byte [];
                user.RefreshCache (neue Schnur [] {„primaryGroupId“});
                int primaryGroupID = Benutzer (int). Eigenschaften [„primaryGroupId“] [0];
                Byte [] reinigte = BitConverter.GetBytes (primaryGroupID);
                für (int I = 0; I < gereinigt. Länge; i++)
                {
                    userSid.SetValue (gereinigt [i], neues langes [] {userSid.Length - (gereinigt. Länge - i)});
                }
                Schnur adPath = String.Format („LDAP: //“, BuildOctetString (userSid));
                DirectoryEntry De = neues DirectoryEntry (adPath);
                //We möchten nicht abschaffen, bis wir den Gruppennamen haben, der ist, warum wir anstelle von der Rückkehr zuweisen
                Schnur primaryGroupName = De. Eigenschaften [„sAMAccountName“] [0] .ToString ();
                RückholprimaryGroupName;
                
            }
            Fang (Ausnahme ex)
            {
                //throw, zum sich zu verfangen, wenn Methode benannt wird (wir wünschen, die Details/können besser verfolgen)
                Wurf ex;
            }
           
        }
        
        private statische Schnur BuildOctetString (Bytes des Bytes [])
        {
            StringBuilder Sb = neues StringBuilder ();
            für (int I = 0; I < Bytes. Länge; i++)
            {
                Sb. Hinzufügen (Bytes [i] .ToString („X2“));
            }
            sb.ToString zurückbringen ();
        }

Antwort : C# - Benutzer der aktiven Verzeichnis-Gruppe zurückholen, deren Mitgliedschaft HAUPTSÄCHLICH ist


Es sollte, zwei Teile recht einfach sein, zuerst ist, den PrimaryGroupToken Wert von der Gruppe zurückzuholen, dann durchführt eine Suche hrt:


DirectorySearcher ADSearch = neues DirectorySearcher („(primaryGroupID= + PrimaryGroupToken + ") „);
SearchResultCollection resultiert = ADSearch.FindAll ();


Chris
Weitere Lösungen  
 
programming4us programming4us