Set-PnPListItemPermission

Sets list item permissions

Syntax

Set-PnPListItemPermission
   -List <ListPipeBind>
                            -Identity <ListItemPipeBind>
                            [-InheritPermissions [<SwitchParameter>]]
                            [-SystemUpdate [<SwitchParameter>]]
                            [-Web <WebPipeBind>]
                            [-Connection <SPOnlineConnection>]
Set-PnPListItemPermission
   -Group <GroupPipeBind>
                            -List <ListPipeBind>
                            -Identity <ListItemPipeBind>
                            [-AddRole <String>]
                            [-RemoveRole <String>]
                            [-ClearExisting [<SwitchParameter>]]
                            [-SystemUpdate [<SwitchParameter>]]
                            [-Web <WebPipeBind>]
                            [-Connection <SPOnlineConnection>]
Set-PnPListItemPermission
   -User <String>
                            -List <ListPipeBind>
                            -Identity <ListItemPipeBind>
                            [-AddRole <String>]
                            [-RemoveRole <String>]
                            [-ClearExisting [<SwitchParameter>]]
                            [-SystemUpdate [<SwitchParameter>]]
                            [-Web <WebPipeBind>]
                            [-Connection <SPOnlineConnection>]

Examples

------------------EXAMPLE 1------------------

Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -AddRole 'Contribute'

Adds the 'Contribute' permission to the user 'user@contoso.com' for listitem with id 1 in the list 'Documents'

------------------EXAMPLE 2------------------

Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -RemoveRole 'Contribute'

Removes the 'Contribute' permission to the user 'user@contoso.com' for listitem with id 1 in the list 'Documents'

------------------EXAMPLE 3------------------

Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -AddRole 'Contribute' -ClearExisting

Adds the 'Contribute' permission to the user 'user@contoso.com' for listitem with id 1 in the list 'Documents' and removes all other permissions

------------------EXAMPLE 4------------------

Set-PnPListItemPermission -List 'Documents' -Identity 1 -InheritPermissions

Resets permissions for listitem with id 1 to inherit permissions from the list 'Documents'

Parameters

-AddRole

The role that must be assigned to the group or user

Type:String
Position:Named
Accept pipeline input:False
Accept wildcard characters:False
-ClearExisting

Clear all existing permissions

Type:SwitchParameter
Position:Named
Accept pipeline input:False
Accept wildcard characters:False
-Connection

Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.

Type:SPOnlineConnection
Position:Named
Accept pipeline input:False
Accept wildcard characters:False
-Group
Type:GroupPipeBind
Position:Named
Accept pipeline input:False
Accept wildcard characters:False
-Identity

The ID of the listitem, or actual ListItem object

Type:ListItemPipeBind
Position:Named
Accept pipeline input:True
Accept wildcard characters:False
-InheritPermissions

Inherit permissions from the list, removing unique permissions

Type:SwitchParameter
Position:Named
Accept pipeline input:False
Accept wildcard characters:False
-List

The ID, Title or Url of the list.

Type:ListPipeBind
Position:0
Accept pipeline input:True
Accept wildcard characters:False
-RemoveRole

The role that must be removed from the group or user

Type:String
Position:Named
Accept pipeline input:False
Accept wildcard characters:False
-SystemUpdate

Update the item permissions without creating a new version or triggering MS Flow.

Only applicable to: SharePoint Online

Type:SwitchParameter
Position:Named
Accept pipeline input:False
Accept wildcard characters:False
-User
Type:String
Position:Named
Accept pipeline input:False
Accept wildcard characters:False
-Web

This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.

Type:WebPipeBind
Position:Named
Accept pipeline input:False
Accept wildcard characters:False