SOLVED

Not able to Stop Inherit permissions due to View Threshold limit

%3CLINGO-SUB%20id%3D%22lingo-sub-117216%22%20slang%3D%22en-US%22%3ENot%20able%20to%20Stop%20Inherit%20permissions%20due%20to%20View%20Threshold%20limit%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-117216%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20All%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWe%20moved%20our%20SP%202007%20huge%20site%20to%20SP%20Online%2C%20but%20doing%20so%20the%20parent%20permissions%20are%20inherited%20to%20the%20subsites%20and%20the%20document%20libraries%20as%20well%20while%20they%20have%20their%20unique%20permissions.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ENow%20we%20want%20to%20break%20inheritance%2C%20but%20since%20the%20number%20of%20items%20are%20more%20than%2099%20K%2C%20we%20are%20getting%20excpetion%20message%20that%20threshold%20limit%20is%20breached%20and%20hence%20cannot%20execute%20the%20operation.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhat%20are%20the%20best%20ways%20to%20handle%20the%20scenario%3F%20(without%20breaking%20them%20into%20multiple%20lists%2Ffolders)%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAppreciate%20the%20suggestions%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-117216%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3ESharePoint%20Online%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-298392%22%20slang%3D%22en-US%22%3ERe%3A%20Not%20able%20to%20Stop%20Inherit%20permissions%20due%20to%20View%20Threshold%20limit%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-298392%22%20slang%3D%22en-US%22%3E%3CDIV%20class%3D%22lia-note-subject%20lia-component-subject%22%3E%0A%3CDIV%20class%3D%22NoteListSubjectCell%20message-subject%22%3ECSOM%20Script%20for%20Breaking%20Inheritance%20on%20Large%20List%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3CDIV%20class%3D%22lia-note-body%20lia-component-body%22%3E%0A%3CPRE%3E%23%23%20DISCLAIMER%3A%0A%23%23%20Copyright%20(c)%20Microsoft%20Corporation.%20All%20rights%20reserved.%20This%0A%23%23%20script%20is%20made%20available%20to%20you%20without%20any%20express%2C%20implied%20or%0A%23%23%20statutory%20warranty%2C%20not%20even%20the%20implied%20warranty%20of%0A%23%23%20merchantability%20or%20fitness%20for%20a%20particular%20purpose%2C%20or%20the%0A%23%23%20warranty%20of%20title%20or%20non-infringement.%20The%20entire%20risk%20of%20the%0A%23%23%20use%20or%20the%20results%20from%20the%20use%20of%20this%20script%20remains%20with%20you.%0A%23%23ps1%0A%23%23%20Filename%3A%20%20%20%20CSOM-BreakInheritanceLargeList.ps1%0A%23%23%20Author%3A%20%20%20%20%20%20salarson%0A%23%23%20Description%3A%20Breaks%20Inheritcane%20on%20all%20items%20in%20%20Large%20List%20%0A%23%23%20Required%3A%20Download%20and%20install%20SPO%20PowerShell%20Module%20-%20http%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fdownload%2Fdetails.aspx%3Fid%3D35588%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%24loadInfo1%20%3D%20%5BSystem.Reflection.Assembly%5D%3A%3ALoadWithPartialName(%22Microsoft.SharePoint.Client%22)%0A%24loadInfo2%20%3D%20%5BSystem.Reflection.Assembly%5D%3A%3ALoadWithPartialName(%22Microsoft.SharePoint.Client.Runtime%22)%0A%0A%24username%20%3D%20Read-Host%20-Prompt%20%22Username%22%0A%24password%20%3D%20Read-Host%20-Prompt%20%22Password%20for%20%24username%22%20-AsSecureString%0A%0A%24siteurl%20%3D%20Read-Host%20-Prompt%20%22Enter%20Site%20Collection%20URL%22%0A%24listTitle%20%3D%20Read-Host%20-Prompt%20%22Enter%20List%20Title%22%0A%0A%0A%24ctx%20%3D%20New-Object%20Microsoft.SharePoint.client.ClientContext(%24siteurl)%0A%0A%24ctx.Credentials%20%3D%20New-Object%20Microsoft.SharePoint.Client.SharePointOnlineCredentials(%24username%2C%20%24password)%0A%0A%0A%0A%24ll%3D%24ctx.Web.Lists.GetByTitle(%24ListTitle)%0A%0A%20%20%24ctx.Load(%24ll)%0A%0A%20%20%24ctx.ExecuteQuery()%0Afunction%20ResetRoleInheritanceLargeList(%24list)%0A%7B%0A%20%20%20%20%24global%3AlistItemCountFromProperty%20%3D%20%24null%0A%20%20%20%20%24global%3Alistitems%20%3D%20%24null%0A%0A%20%20%20%20%24global%3AlistItemCountFromProperty%20%3D%20%24list.itemcount%0A%20%20%20%20%24global%3AisComplete%20%3D%20%24false%0A%20%20%20%20%5Bint%5D%24global%3Aloopcount%20%3D%200%0A%20%20%20%20%5Bint%5D%24global%3Aitemsfoundcount%20%3D%200%0A%20%20%20%20%5Bint%5D%24batchsize%20%3D%20250%0A%20%20%20%20%5Bint%5D%24global%3Amaxloops%20%3D%201000%0A%20%20%20%20%5Bint%5D%24global%3Alowerbound%20%3D%200%0A%20%20%20%20%5Bint%5D%24global%3Aupperbound%20%3D%200%0A%0A%0A%20%20%20%20Write-Host%20%22%3D%3DRESETTING%20ROLE%20INHERITANCE%20ON%20ALL%20ITEMS%20IN%20ALL%20FOLDERS%3D%3D%22%20-ForegroundColor%20Green%0A%0A%20%20%20%20if%20(%24global%3AlistItemCountFromProperty%20-gt%200)%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20try%0A%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20write-host%20%22List%20item%20count%20%3D%20%24(%24list.itemcount)%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20while%20(%24global%3AisComplete%20-ne%20%24true)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20((%24global%3Aloopcount%20-le%20%24global%3Amaxloops)%20-and%20(%24global%3Aitemsfoundcount%20-lt%20%24global%3AlistItemCountFromProperty))%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24global%3Alowerbound%20%3D%20(%24global%3Aloopcount%20*%20%24batchsize)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24global%3Aupperbound%20%3D%20((%24global%3Aloopcount%20%2B%201)%20*%20%24batchsize)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24global%3Aloopcount%20%3D%20%24global%3Aloopcount%20%2B%201%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22Looking%20for%20items%20with%20IDs%20between%20%24(%24global%3Alowerbound)%20and%20%24(%24global%3Aupperbound)%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24query%20%3D%20new-object%20Microsoft.SharePoint.Client.Camlquery%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24query.ViewXml%20%3D%20%22%26lt%3BView%20Scope%3D%60%22RecursiveAll%60%22%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BQuery%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BWhere%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BAnd%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BGeq%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BFieldRef%20Name%3D'ID'%20%2F%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BValue%20Type%3D'Counter'%26gt%3B%24(%24global%3Alowerbound)%26lt%3B%2FValue%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B%2FGeq%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BLt%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BFieldRef%20Name%3D'ID'%20%2F%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3BValue%20Type%3D'Counter'%26gt%3B%24(%24global%3Aupperbound)%26lt%3B%2FValue%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B%2FLt%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B%2FAnd%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B%2FWhere%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B%2FQuery%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B%2FView%26gt%3B%22%0A%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24items%20%3D%20%24null%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24items%20%3D%20%24list.GetItems(%24query)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24ctx.load(%24items)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24ctx.executeQuery()%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24global%3Aitemsfoundcount%20%3D%20%24global%3Aitemsfoundcount%20%2B%20%24items.count%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22Current%20total%20items%20found%20count%20%3D%20%24(%24global%3Aitemsfoundcount)%20out%20of%20%24(%24global%3AlistItemCountFromProperty).%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22Current%20batch%20items%20found%20count%20%3D%20%24(%24items.count).%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22%3D%3D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20foreach%20(%24item%20in%20%24items)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20write-host%20%22Updating%20item%20with%20ID%3A%20%24(%24item.id).%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24item.resetroleinheritance()%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24item.update()%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24ctx.ExecuteQuery()%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24global%3AisComplete%20%3D%20%24true%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B%23%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22Export%20Complete.%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22Sorting%20objects%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24sorteddocumentobjects%20%3D%20%24global%3Adocumentitempropertyobjects%20%7C%20Sort-Object%20%22FileRef%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24sortedfolderobjects%20%3D%20%24global%3Afolderitempropertyobjects%20%7C%20Sort-Object%20%22FileRef%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24sortedallobjects%20%3D%20%24global%3Alistitempropertyobjects%7C%20Sort-Object%20%22FileRef%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%24global%3Afolderitempropertyobjects%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22Writing%20output%20to%20csv%20files.%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24sortedallobjects%7C%20ConvertTo-Csv%20-NoTypeInformation%20-delimiter%20%22%60t%22%20%26gt%3B%20%22sortedTotalList.csv%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24sortedfolderobjects%7C%20ConvertTo-Csv%20-NoTypeInformation%20-delimiter%20%22%60t%22%20%26gt%3B%20%22sortedFolderUrls.csv%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24sorteddocumentobjects%7C%20ConvertTo-Csv%20-NoTypeInformation%20-delimiter%20%22%60t%22%20%26gt%3B%20%22sortedDocumentUrls.csv%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%26gt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22Documents%20updated.%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22Total%20number%20of%20list%20items%20found%20and%20processed%20(including%20folders)%20%3D%20%24(%24global%3Aitemsfoundcount).%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22Checked%20items%20in%20batches%20of%20%24(%24batchsize)%20up%20to%20list%20item%20with%20ID%20less%20than%3A%20%24(%24global%3Aupperbound)%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20catch%0A%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-host%20%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-host%20%22Exception%20thrown!%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20write-host%20%22Error%20is%3A%20%24(%24_)%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22Current%20item%20number%20processed%20(if%20any)%20%3D%20%24(%24global%3Aitemsfoundcount)%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20write-host%20%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20else%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22%22%0A%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22No%20items%20found.%22%0A%20%20%20%20%7D%0A%0A%7D%0A%0AResetRoleInheritanceLargeList%20%24ll%20%0A%0AWrite-host%20%E2%80%9CEND%20OF%20SCRIPT%E2%80%9D%3C%2FPRE%3E%0A%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-298360%22%20slang%3D%22en-US%22%3ERe%3A%20Not%20able%20to%20Stop%20Inherit%20permissions%20due%20to%20View%20Threshold%20limit%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-298360%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F49589%22%20target%3D%22_blank%22%3E%40Sam%20Larson%3C%2FA%3E%26nbsp%3Bcan%20you%20send%20me%20the%20same%20CAML%2FCSOM%20script%3F%20My%20Engineering%20department%20just%20recently%20pushed%20about%20170k%20items%20into%20a%20Document%20Library%20without%20breaking%20inheritance%20on%20that%20library%20first%2C%20and%20they%20are%20seeing%20this%20issue%20now.%20I'm%20looking%20for%20a%20way%20to%20handle%20this%20programmatically%20if%20I%20run%20into%20this%20issue%20in%20the%20future.%20Thanks%20in%20advance!%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-117459%22%20slang%3D%22en-US%22%3ERe%3A%20Not%20able%20to%20Stop%20Inherit%20permissions%20due%20to%20View%20Threshold%20limit%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-117459%22%20slang%3D%22en-US%22%3EOverall%20I'd%20suggest%20breaking%20them%20down%20before%20you%20migrate%20in%20the%20future%2C%20other%20than%20that%20we%20can%20do%20some%20CAML%20queries%20with%20CSOM%20to%20get%20around%20this%2C%20I'll%20PM%20you%20a%20script%20that%20should%20do%20the%20trick.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1777821%22%20slang%3D%22en-US%22%3ERe%3A%20Not%20able%20to%20Stop%20Inherit%20permissions%20due%20to%20View%20Threshold%20limit%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1777821%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F87938%22%20target%3D%22_blank%22%3E%40Deenadayalan%20V%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIt's%20an%20old%20message%2C%20but%20still%20true%20with%20O365%2C%20i%20published%20a%20tip%20in%20case%20of%3A%3C%2FP%3E%3CP%3E-%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fsharepoint%2Fsharepoint-how-to-bypass-the-100-000-items-limitation-to-manage%2Fm-p%2F1777803%23M45538%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fsharepoint%2Fsharepoint-how-to-bypass-the-100-000-items-limitation-to-manage%2Fm-p%2F1777803%23M45538%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20validated%20this%20solution%20many%20times.%26nbsp%3B%3C%2FP%3E%3CP%3EFab%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
Contributor

Hi All,

 

We moved our SP 2007 huge site to SP Online, but doing so the parent permissions are inherited to the subsites and the document libraries as well while they have their unique permissions.

 

Now we want to break inheritance, but since the number of items are more than 99 K, we are getting excpetion message that threshold limit is breached and hence cannot execute the operation.

 

What are the best ways to handle the scenario? (without breaking them into multiple lists/folders)

 

Appreciate the suggestions

4 Replies
Highlighted
Overall I'd suggest breaking them down before you migrate in the future, other than that we can do some CAML queries with CSOM to get around this, I'll PM you a script that should do the trick.
Highlighted

@Sam Larson can you send me the same CAML/CSOM script? My Engineering department just recently pushed about 170k items into a Document Library without breaking inheritance on that library first, and they are seeing this issue now. I'm looking for a way to handle this programmatically if I run into this issue in the future. Thanks in advance! 

Highlighted
Best Response confirmed by Sam Larson (Microsoft)
Solution
CSOM Script for Breaking Inheritance on Large List
## DISCLAIMER:
## Copyright (c) Microsoft Corporation. All rights reserved. This
## script is made available to you without any express, implied or
## statutory warranty, not even the implied warranty of
## merchantability or fitness for a particular purpose, or the
## warranty of title or non-infringement. The entire risk of the
## use or the results from the use of this script remains with you.
##ps1
## Filename:    CSOM-BreakInheritanceLargeList.ps1
## Author:      salarson
## Description: Breaks Inheritcane on all items in  Large List 
## Required: Download and install SPO PowerShell Module - http://www.microsoft.com/en-us/download/details.aspx?id=35588
#####################################################################

$loadInfo1 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
$loadInfo2 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")

$username = Read-Host -Prompt "Username"
$password = Read-Host -Prompt "Password for $username" -AsSecureString

$siteurl = Read-Host -Prompt "Enter Site Collection URL"
$listTitle = Read-Host -Prompt "Enter List Title"


$ctx = New-Object Microsoft.SharePoint.client.ClientContext($siteurl)

$ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)



$ll=$ctx.Web.Lists.GetByTitle($ListTitle)

  $ctx.Load($ll)

  $ctx.ExecuteQuery()
function ResetRoleInheritanceLargeList($list)
{
    $global:listItemCountFromProperty = $null
    $global:listitems = $null

    $global:listItemCountFromProperty = $list.itemcount
    $global:isComplete = $false
    [int]$global:loopcount = 0
    [int]$global:itemsfoundcount = 0
    [int]$batchsize = 250
    [int]$global:maxloops = 1000
    [int]$global:lowerbound = 0
    [int]$global:upperbound = 0


    Write-Host "==RESETTING ROLE INHERITANCE ON ALL ITEMS IN ALL FOLDERS==" -ForegroundColor Green

    if ($global:listItemCountFromProperty -gt 0)
    {
       
           try
           {
                write-host "List item count = $($list.itemcount)"
                         while ($global:isComplete -ne $true)
                         {
                               if (($global:loopcount -le $global:maxloops) -and ($global:itemsfoundcount -lt $global:listItemCountFromProperty))
                               {
                                      $global:lowerbound = ($global:loopcount * $batchsize)
                                      $global:upperbound = (($global:loopcount + 1) * $batchsize)
                                      $global:loopcount = $global:loopcount + 1
                                      #Write-Host ""
                                      #Write-Host "Looking for items with IDs between $($global:lowerbound) and $($global:upperbound)"
                                      $query = new-object Microsoft.SharePoint.Client.Camlquery
                                      $query.ViewXml = "<View Scope=`"RecursiveAll`">
                                      <Query>
                                      <Where>
                                             <And>
                                                    <Geq>
                                                           <FieldRef Name='ID' />
                                                           <Value Type='Counter'>$($global:lowerbound)</Value>
                                                    </Geq>
                                                    <Lt>
                                                           <FieldRef Name='ID' />
                                                           <Value Type='Counter'>$($global:upperbound)</Value>
                                                    </Lt>
                                             </And>
                                      </Where>
                                      </Query>
                               </View>"


                                  
                                      $items = $null
                                      $items = $list.GetItems($query)
                                      $ctx.load($items)
                                      $ctx.executeQuery()
                                  
                                      $global:itemsfoundcount = $global:itemsfoundcount + $items.count
                                      
                                   #Write-Host "Current total items found count = $($global:itemsfoundcount) out of $($global:listItemCountFromProperty)."
                                      #Write-Host "Current batch items found count = $($items.count)."
                                      #Write-Host "=="
                                      foreach ($item in $items)
                                      {
                                              write-host "Updating item with ID: $($item.id)."
                                              $item.resetroleinheritance()
                             $item.update()
                             $ctx.ExecuteQuery()                           
                                         
                                      }
                                  
                               }
                           
                               else
                               {
                                      $global:isComplete = $true
                                      <#
                        Write-Host ""
                                      Write-Host "Export Complete."
                                      Write-Host ""
                                      Write-Host "Sorting objects"
                                  
                                      $sorteddocumentobjects = $global:documentitempropertyobjects | Sort-Object "FileRef"
                                      $sortedfolderobjects = $global:folderitempropertyobjects | Sort-Object "FileRef"
                                      $sortedallobjects = $global:listitempropertyobjects| Sort-Object "FileRef"
                                  
                                      #$global:folderitempropertyobjects
                                  
                                      Write-Host ""
                                       Write-Host "Writing output to csv files."
                                      Write-Host ""
                           
                                   $sortedallobjects| ConvertTo-Csv -NoTypeInformation -delimiter "`t" > "sortedTotalList.csv"
                                   $sortedfolderobjects| ConvertTo-Csv -NoTypeInformation -delimiter "`t" > "sortedFolderUrls.csv"
                                   $sorteddocumentobjects| ConvertTo-Csv -NoTypeInformation -delimiter "`t" > "sortedDocumentUrls.csv"
                        #>
                                      #Write-Host "Documents updated."
                                      Write-Host "Total number of list items found and processed (including folders) = $($global:itemsfoundcount)."
                                      #Write-Host "Checked items in batches of $($batchsize) up to list item with ID less than: $($global:upperbound)"
                               }
                         }
                  }
       
           catch
           {
                  Write-host ""
                  Write-host "Exception thrown!"
                  write-host "Error is: $($_)"
                  Write-Host "Current item number processed (if any) = $($global:itemsfoundcount)"
                  write-host ""
           }
    }
    else
    {
           Write-Host ""
           Write-Host "No items found."
    }

}

ResetRoleInheritanceLargeList $ll 

Write-host “END OF SCRIPT”
Highlighted

@Deenadayalan V 

It's an old message, but still true with O365, i published a tip in case of:

https://techcommunity.microsoft.com/t5/sharepoint/sharepoint-how-to-bypass-the-100-000-items-limitat...

 

I validated this solution many times. 

Fab