2016-08-02 6 views
0

Wie ist der beste Zugriff auf alle Gruppen eines SPUser einschließlich der Active Directory-Gruppen?Ermitteln Sie programmgesteuert alle Gruppen eines Benutzers in Sharepoint in C#

SPUser u = someWeb.EnsureUSer(...); 
//Only gives SharePoint groups 
SPGroupCollection coll = user.Groups; 
//Also gives only SharePoint groups 
SPGroupCollection groupsonSite = someSPSite.rootWeb.siteGroups 

Gibt es eine Möglichkeit, auf alle Gruppen zuzugreifen, in denen sich ein Benutzer befindet, einschließlich AD-Gruppen?

Antwort

0

Wenn Sie alle Benutzer aus der aktuellen Websitesammlung benötigen, können Sie es aus versteckten Liste zugreifen UserInformationList

The User Information List can be accessed (Only if you’re admin) via the browser by navigating to /_catalogs/users/simple.aspx 

Lesen Sie mehr hier: https://zimmergren.net/sharepoints-hidden-user-list-user-information-list/

Von AD:

 DirectoryEntry myLdapConnection = new DirectoryEntry("LDAP://YouDomainName"); 
     DirectorySearcher search = new DirectorySearcher(myLdapConnection) { Filter = ("(objectClass=user)") }; 
     search.CacheResults = true; 
     SearchResultCollection allResults = search.FindAll(); 
     DataTable resultsTable = new DataTable(); 
     resultsTable.Columns.Add("UserID"); 
     resultsTable.Columns.Add("EmailID"); 
     foreach (SearchResult searchResult in allResults) 
     { 
      MembershipUser myUser = Membership.GetAllUsers()[searchResult.Properties["sAMAccountName"][0].ToString()]; 
      if (myUser == null) 
      { 
       DataRow dr = resultsTable.NewRow(); 
       dr["UserID"] = searchResult.Properties["sAMAccountName"][0].ToString(); 
       if (searchResult.Properties["mail"].Count > 0) 
       { 
        dr["EmailID"] = searchResult.Properties["mail"][0].ToString(); 
       } 
       else 
       { 
        dr["EmailID"] = ""; 
       } 
       resultsTable.Rows.Add(dr); 
      } 
      else 
      { } 
     } 

http://www.dotnetcodesg.com/Article/UploadFile/2/223/Get%20List%20of%20Active%20Directory%20Users%20in%20ASP.NET%20Csharp.aspx

+0

Das war verdammt schnell, danke – 1D0BE