SharePoint Online: Delete Unique Permissions and Restore Inheritance in a List using PowerShell

Requirement: SharePoint Online remove all unique permissions in a List or Library

How to Delete Unique permissions and Inherit from parent in SharePoint Online?
Removing unique permissions and restoring permission inheritance for a list or library allows its security to be managed at the site level, instead of managing the security separately from that List. To restore permission inheritance for a list or library, do the following:
  • Login to SharePoint online, Navigate to the list or library in which you want to remove unique permissions. 
  • On the ribbon, click on the List/Library tab and then, in the Settings group, click on List / Library Settings.
  • From the List Settings page, click on "Permissions For This List" link under "Permissions And Management" group.
  • On the ribbon, click the Permissions tab and then, in the Inheritance group, click on Delete Unique Permissions. Confirm the prompt with OK.
    sharepoint online delete unique permissions powershell

Delete Unique Permissions on a List or Library in SharePoint Online using PowerShell:
Here is the SharePoint Online PowerShell to inherit permissions from the parent
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Function to remove unique permissions and inherit from the parent
Function Remove-ListUniquePermissions
{
param
    (
        [Parameter(Mandatory=$true)] [string] $SiteURL,
        [Parameter(Mandatory=$true)] [string] $ListName
    )

    Try {
        $Cred= Get-Credential
        $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Credentials

        #Remove unique permissions and reset inheritance
        $List=$Ctx.Web.Lists.GetByTitle($ListName)
        $List.ResetRoleInheritance()
        $List.Update()
        $Ctx.ExecuteQuery()

        Write-Host "Unique Permissions are removed and inherited from the Parent!" -ForegroundColor Green
    }

    Catch {
        write-host -f Red "Error Deleting Unique Permissions!" $_.Exception.Message
    } 
}
#Parameters
$SiteURL="https://crescent.sharepoint.com"
$ListName="Projects"

#Call the function to remove unique permissions from a list
Remove-ListUniquePermissions -SiteURL $SiteURL -ListName $ListName
This PowerShell deletes all unique permissions.

SharePoint Online: Delete Unique Permissions from a List using PnP PowerShell
Here is the PnP PowerShell reset unique permissions and inherit permissions from the parent in SharePoint Online list.
#Config Variables
$SiteURL = "https://crescenttech.sharepoint.com/Sales"
$ListName ="Documents"

#Connect PNP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Get the Context
$Context = Get-PnPContext
 
#Get the list
$List = Get-PnPList -Identity $ListName

#Remove unique permissions
$List.ResetRoleInheritance()
$Context.ExecuteQuery()

If you want to delete unique permissions on List items in a list or library, use: SharePoint Online: Delete Unique Permissions for All Items in a List using PowerShell
SharePoint Online: Delete Unique Permissions and Restore Inheritance in a List using PowerShell SharePoint Online: Delete Unique Permissions and Restore Inheritance in a List using PowerShell Reviewed by Salaudeen Rajack on January 03, 2016 Rating: 5

No comments:

Please Login and comment to get your questions answered!

Powered by Blogger.