Issue
Code backup
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
namespace Console.Office365
|
||||
{
|
||||
using Microsoft.SharePoint.Client;
|
||||
using Microsoft.SharePoint.Client.Taxonomy;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using OfficeDevPnP.Core.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
CreateCustomPermissionLevel();
|
||||
|
||||
}
|
||||
|
||||
public static void CreateCustomPermissionLevel()
|
||||
{
|
||||
OfficeDevPnP.Core.AuthenticationManager authMgr = new OfficeDevPnP.Core.AuthenticationManager();
|
||||
|
||||
string siteUrl = "https://*********.sharepoint.com/sites/communitysite";
|
||||
string userName = "Sathish@*********.onmicrosoft.com";
|
||||
string password = "************";
|
||||
|
||||
|
||||
using (var clientContext = authMgr.GetSharePointOnlineAuthenticatedContextTenant(siteUrl, userName, password))
|
||||
{
|
||||
Web web = clientContext.Web;
|
||||
clientContext.Load(web);
|
||||
clientContext.Load(web.AllProperties);
|
||||
clientContext.Load(web.RoleDefinitions);
|
||||
clientContext.ExecuteQueryRetry();
|
||||
var roleDefinitions = web.RoleDefinitions;
|
||||
|
||||
// Get Owners Group and Remove the Permission Levels
|
||||
var ownersGroupRoleAssignment = web.RoleAssignments.GetByPrincipal(clientContext.Web.AssociatedOwnerGroup);
|
||||
ownersGroupRoleAssignment.RoleDefinitionBindings.RemoveAll();
|
||||
ownersGroupRoleAssignment.Update();
|
||||
clientContext.Load(ownersGroupRoleAssignment);
|
||||
clientContext.ExecuteQuery();
|
||||
|
||||
// Get Full Control Role Definition
|
||||
var customFullControlRoleDefinition = roleDefinitions.GetByName("MyPermissionLevelCreatedByCode");
|
||||
clientContext.Load(customFullControlRoleDefinition);
|
||||
clientContext.ExecuteQuery();
|
||||
|
||||
RoleDefinitionBindingCollection collRDB = new RoleDefinitionBindingCollection(clientContext);
|
||||
collRDB.Add(roleDefinitions.GetByName("MyPermissionLevelCreatedByCode"));
|
||||
|
||||
// Bind the Newly Created Permission Level to Owners Group
|
||||
web.RoleAssignments.Add(web.SiteGroups.GetById(ownersGroupRoleAssignment.PrincipalId), collRDB);
|
||||
|
||||
// Bind the Newly Created Permission Level to Owners Group
|
||||
//ownersGroupRoleAssignment.RoleDefinitionBindings.Add(customFullControlRoleDefinition);
|
||||
//ownersGroupRoleAssignment.Update();
|
||||
|
||||
clientContext.Load(ownersGroupRoleAssignment);
|
||||
clientContext.ExecuteQuery();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user