0

Je veux obtenir les noms Active Directory dans sharepoint dans une liste.Comment puis-je obtenir les informations Active Directory avec Sharepoint par programme sur sharepoint 2013 Ferme Solution sur le code derrière le fichier?

Pour savoir que SharePoint 2013 possède une URL masquée qui affiche l'utilisateur Active Directory actuel que je souhaite inclure dans la liste.

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

Maintenant, je veux avoir la liste de tous les noms affichés sur mon sharepoint

J'utilise le code:

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


} 

Maintenant, je reçois l'erreur, il dit au sujet de référence d'assemblage n » t exist.So j'ai vérifié sur google et ajouté ce ddl et ajouter la référence Microsoft.SharePoint.Client; en utilisant également.Still Ne fonctionne pas.

S'il vous plaît laissez-moi savoir ce qu'il fallait faire Guys

but de faire du programme: Avoir tous les utilisateurs AD et faire un groupe de travail afin que je puisse les attribuer un droit de telle sorte lorsqu'elle est affectée ouverte grp quelque chose d'autre URL dans iframe montre. et si quelqu'un d'autre que l'autre URL dans iframe lui est montré.

Merci à l'avance.

Répondre

0

Pour obtenir toutes les informations sur l'utilisateur du répertoire actif ou d'un groupe, vous pouvez utiliser

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

// Pour l'utilisateur

UserPrincipal userPrincipal = new UserPrincipal (pContext); 

PrincipalSearcher userSearch = new PrincipalSearcher (userPrincipal); 

// Pour le groupe

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 

} 

Assemblée

System.DirectoryServices.AccountManagement 

Namespace

using System.DirectoryServices.AccountManagement; 
0

Vous êtes côté serveur (solution Farms), afin de ne pas utiliser: ClientContext, ceci est une application client, pas le serveur.

Vous avez juste pour obtenir le: User Information List

Vous pouvez essayer somthing comme:

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; 
      .... 
     } 
    } 
}