Get user-Namen der Active Directory-Gruppe in c#

Ich brauche, um Benutzer details zu einem bestimmten Active Directory-Gruppe. Ich bin mit diesem code:

var result = grpResponse.Entries[0];

if (result.Attributes["member"] != null)
{
    for (var i = 0; i < result.Attributes["member"].Count; i++)
    {
          var filter = result.Attributes["member"][i].ToString();

          var query = "(&(objectClass=user)(" + filter + "))"; //Here I need username to use like cn=username

          var userRequest = new SearchRequest(distinguishedName, query,
                                    SearchScope.Subtree);

Filter bin ich immer so etwas wie

CN=Name,OU=something,DC=example

Wie kann ich diesen cn-Wert ich.e user name allein?

InformationsquelleAutor Shesha | 2016-03-31



2 Replies
  1. 1

    Wenn Sie auf .NET 3.5 und höher, sollten Sie sich die System.DirectoryServices.AccountManagement (S. DS.BIN) – namespace.

    Grundsätzlich definieren Sie eine Domäne Kontext-und leicht zu finden, die den Nutzern und/oder Gruppen im AD:

    //set up domain context - limit to the OU you're interested in
    using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, null, "OU=YourOU,DC=YourCompany,DC=Com"))
    {
        //find the group in question
        GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "YourGroupNameHere");
    
        //if found....
        if (group != null)
        {
           //iterate over the group's members
           foreach (Principal p in group.GetMembers())
           {
               Console.WriteLine("{0}: {1}", p.StructuralObjectClass, p.DisplayName);
    
               //do whatever else you need to do to those members
           }
        }
    }

    Den neuen S. DS.BIN macht es wirklich einfach zu spielen, um mit Benutzern und Gruppen im AD!

    Lesen Sie mehr über es hier:

  2. 0

    Die unten ist genau das, was ich brauchte.

    Den OuString, die Sie verwenden, wie die unsere haben kann, hat mehrere Teile – beide OU & DC

    bstring OUString = "OU=Groups,OU=Accounts,DC=nw,DC=nos,DC=ourcompanyName,DC=com" ;
    
    using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, null, OUString))

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.