0

Ich möchte die Active Directory-Namen in Sharepoint in einer Liste abrufen.Wie bekomme ich die Active Directory-Informationen mit Sharepoint programmatisch auf Sharepoint 2013 Farm-Lösung für Code hinter Datei?

Um zu wissen, dass SharePoint 2013 eine versteckte URL hat, die aktuellen Active Directory-Benutzer zeigt, möchte ich es in die Liste bekommen.

http://{YourSharepointUrl}/_catalogs/users/simple.aspx 

Jetzt möchte ich die Liste haben alle auf meiner Sharepoint angezeigt Namen

ich den Code verwende:

private static void GetAllSiteUsers() 
{ 
    // Starting with ClientContext, the constructor requires a URL to the server running SharePoint. 
    var sharepointContext = new ClientContext("http://yoursharepointurl/"); 


} 

Jetzt Fehler Ich erhalte es sagt über Montage Bezug doesn‘ t existiere.So habe ich auf Google überprüft und fügte diese ddl und fügen Sie die Verwendung Microsoft.SharePoint.Client; Referenz auch. Trotzdem funktioniert nicht.

Bitte lassen Sie mich wissen, was gebraucht Jungs

Zweck getan werden Programm machen: haben alle AD-Benutzer und eine Arbeitsgruppe, so dass ich sie etwas richtig so zuweisen können, wenn grp offen zugewiesen etwas, was eine andere URL in iframe zeigt. und wenn jemand anderes als andere URL in Iframe zu ihm gezeigt wird.

Danke IN Advance Guys.

Antwort

0

Um alle Informationen über Active Directory-Benutzer oder eine Gruppe erhalten Sie

PrincipalContext pContext = new PrincipalContext (ContextType.Domain, YOUR_DOMAIN); 

// Für Benutzer

UserPrincipal userPrincipal = new UserPrincipal (pContext); 

PrincipalSearcher userSearch = new PrincipalSearcher (userPrincipal); 

// Für die Gruppe

GroupPrincipal grpPrincipal = new GroupPrincipal (pContext); 

PrincipalSearcher grpSearch = new PrincipalSearcher (grpPrincipal); 

foreach (UserPrincipal result in userSearch.FindAll()) 

{ 
if (result.SamAccountName!= null) 

// Your code 
} 

foreach (GroupPrincipal result in grpSearch.FindAll()) 

{ 

if (result != null) 

{ 

// Your code 

} 

Assembly verwenden können

System.DirectoryServices.AccountManagement 

Namespace

using System.DirectoryServices.AccountManagement; 
0

Sie sind in Server-Seite (Farms Lösung), so nicht verwenden: Clientcontext, das ist für Client-Anwendung, nicht-Server.

Sie müssen nur erhalten das: User Information List

Sie somthing versuchen könnte wie:

using(SPSite site = new SPSite("URLsiteCollection")){ 
    using(SPWeb web = site.rootWeb){ 
     SPList userList = web.SiteUserInfoList; 
     SPListItemCollection allUsers = userList.Items; 
     foreach(SPListItem userItem in allUsers){ 

      string userEmail = Convert.Tostring(userItem["EMail"]); 
      string userName = userItem.Title; 
      .... 
     } 
    } 
}