2016-04-12 5 views
0

Ich habe eine Intranet-Anwendung mit ASP.Net MVC 5Wie kann ich alle Active Directory-Benutzer Benutzernamen und Anzeigenamen

Ich muss Abfrage alle Active Directory-Benutzer Benutzername

ich das Netz suchte ich 2 bekommen gefunden nützlicher Beitrag: 1- How can I get a list of users from active directory?

2- http://www.codeproject.com/Tips/599697/Get-list-of-Active-Directory-users-in-Csharp

Als ich Abfrage ich die Eigenschaft Namen bekommen, aber ich kann das Active Directory-Benutzername nicht erhalten

alle Lösungen, die ich alle Active Directory Benutzer Benutzername erhalten kann?

unten ist mein Code:

 List<TempUsers> MyTempUser = new List<TempUsers>(); 

     var context = new PrincipalContext(ContextType.Domain, "MyDomain.com"); 
     var searcher = new PrincipalSearcher(new UserPrincipal(context)); 

     foreach (var result in searcher.FindAll()) 
     { 
      DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry; 
      MyTempUser.Add(new TempUsers { UserName = de.Properties["Name"].Value.ToString() }); 


     } 

Antwort

0

Der Eigenschaftsname Sie suchen ist sAMAccountName. Here's eine Liste der verfügbaren Attribute.

0

Ich habe es auf diese Art und Weise es toll gearbeitet:

1- Referenz In dem Active Directory-Diensten DLL

2- Hinzufügen in Ihrem Controller:

using System.DirectoryServices.AccountManagement; 

als ich eine Funktion erstellt zum Speichern aller Active Directory-Benutzer in der Datenbanktabelle unten ist der Code hoffe, dass jemand es braucht.

public ActionResult Create() 
    { 


     List<MyADUsers> TheAllADUsers = new List<MyADUsers>(); 

     var context = new PrincipalContext(ContextType.Domain, "MyDoman.org"); 
     var searcher = new PrincipalSearcher(new UserPrincipal(context)); 

     foreach (var result in searcher.FindAll()) 
     { 

      TheAllADUsers.Add(new MyADUsers { ADUserName = result.SamAccountName, AD_IsMemberOf = result.UserPrincipalName, FullName = result.Name }); 

     } 

     db.MyADUsersContext.AddRange(TheAllADUsers); 
     db.SaveChanges(); 


     return View(); 
    } 
Verwandte Themen