I am working on a task to clean up all permissions by removing users that are given individual permissions and adding them to groups with same permission level.

There are multiple permission levels given for some of the users in the sites. So i need to find a way to get the highest effective permission a user will be having on the site, so that i will only need to add the user to only the group having that highest permission level.

I tried using spweb.GetUserEffectivePermissionInfo and spweb.GetUserEffectivePermissions but they are returning multiple values and i am not sure how to figure out the highest permission level from that.

Please help me get this done using as i am on a deadline here and I need to finish this ASAP. Any suggestions are welcome.Thanks in advance.

  • 2
    There's no such thing as a "higher" permission level. Users are assigned permission-levels (either directly or through a group membership). These permission-levels are made of base-permissions (like "Edit Item" or "View List"). GetUserEffectivePermissions returns these base permissions. But how do you judge "Delete Items" is "higher" than "Create Items"? – Evariste Mar 30 '16 at 8:42
  • Thanks for that info, so if I have move a user with directly given permission to a group, i will have to add them to multiple groups based on the permission levels the user is assigned? – mallu coder Mar 30 '16 at 8:46
  • You'd have to either add te user to multiple groups (each group having one permission-level assigned) or to one group with multiple levels assigned... – Evariste Mar 30 '16 at 8:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.