Latest Posts

Remove Groups Permissions From List in SharePoint using CSOM

The example in this topic show how to use CSOM to Remove Groups Permissions From List in SharePoint
  • Please follow the steps below to execute the code in Visual Studio using Console Application. You can customize the solution according to your requirements.
  • Check the article to Connect to SharePoint context using CSOM. This is very helpful if you are doing any programming in CSOM.
  • Don't forget to use the assemblies as mentioned in the code.

How to run CSOM code in SharePoint?

  • Open your Visual Studio.
  • From the template, select Console Application as shown in the screenshot
  • Select the .Net Framework version from the top drop-down as well. You can also change the .Net Framework after creating the solution.
  • Enter Project Name, Location and Solution Name and click on OK.
  • create console application using Visual Studio
  • Now your program.cs file will open. Copy the code in main function.
  • Once you are done with your code, just hit F5 or Run the application.

  • using Microsoft.SharePoint.Client;
  • using System.Linq;
  •  
  • using (ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection"))
  • {
  • // clientcontext.Web.Lists.GetById - This option also can be used to get the list using List GUID
  • // This value is NOT List internal name
  • List targetList = clientContext.Web.Lists.GetByTitle("List Name");
  •  
  • // Load the list property(HasUniqueRoleAssignments)
  • clientContext.Load(targetList, target => target.HasUniqueRoleAssignments);
  • clientContext.Load(targetList.RoleAssignments);
  • clientContext.ExecuteQuery();
  •  
  • // This method will work only if the role inheritence is broken(list has unique role assignments) on the list
  • if (targetList.HasUniqueRoleAssignments)
  • {
  • // Write all the group names to be removed over here with separator
  • string GroupNameswithseparator = "test Members;test Visitors";
  • string[] groupsToRemove = GroupNameswithseparator.Split(';').Select(x => x.Trim()).Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();
  •  
  • foreach (string objectToRemove in groupsToRemove)
  • {
  • targetList.RoleAssignments.Groups.RemoveByLoginName(objectToRemove.ToString());
  • clientContext.ExecuteQuery();
  • }
  • }
  • else
  • {
  • Console.WriteLine("Target list does not have unique permission");
  • }
  • }

Thank you for reading this article. This code was tested in SharePoint 2013

We value your Feedback:

Page URL:

Name:

Email:


Suggestion:

© 2024 Code SharePoint