5

We have an Document Library (a) with folders (b), subfolders (c) and subsubfolders (d) with documents (e) in it. All with a unique permissions set (a huge pita, came from a LiveLink env which was migrated to SharePoint).

Is there a way to restore permission inheritance for a part of this tree at once? For example I want unique permissions in C and have D and E inherit those. Or do i have to manualy re-enable permission inheritance for each item one at the time?

(Or a method to remove all unique permissions in a DocLib, which would mean I only have to re-create the permissions in the few top level folders)

9

No. You will need to re-enable permissions inheritance for each item separately. Some simple PowerShell script can be developed to handle this. However simplicity and speed depends on your exact requirements, tree complexity and of course items count.

PowerShell example (restore all items in targeted library)

$webUrl = "http://mycoolsite"
$web = Get-SPWeb $webUrl
$list = $web.Lists["mycoollib"]

#Using foreach is time consuming
#caml query can be used to fetch only specific items and/or folders
foreach ($item in $list.items) {
    $item.ResetRoleInheritance()
}
  • Saved me! Helped reduce permissions objects from over 150k down to 12 in just minutes. ;) – Chiramisu Feb 22 '17 at 23:24
  • As a side note, you may have to use the internal list name by replacing all spaces with _x0020_ per this answer... What was Microsoft THINKING!? rolls eyes – Chiramisu Jun 7 '17 at 22:43
0

You can write something in code, or PowerShell, to loop through and reset the permissions. I don't think there is something like Windows has that will force changes to the children items.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.