首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用PnP Powershell删除所有列表项权限

如何使用PnP Powershell删除所有列表项权限
EN

Stack Overflow用户
提问于 2021-01-20 03:20:29
回答 1查看 506关注 0票数 0

我想使用PnP Powershell删除列表项的所有权限

我已经尝试过这个命令:

代码语言:javascript
运行
复制
Set-PnPListItemPermission -Identity $item.id -User 'user@contoso.com' -AddRole "Contribute"

但是,运行脚本/命令的用户也被添加了完全控制权限。

是否有其他方法可以使用PnP Powershell删除列表项的所有现有权限?

谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2021-01-20 10:39:33

我测试使用PnP PowerShell中的读取权限用户连接到SharePoint Online站点,然后运行Set-PnPListItemPermission命令,它将抛出拒绝访问错误,而不是使用完全控制权限添加:

在摘要中,要设置列表项的权限,运行脚本的用户在站点级别上应具有完全控制权限。否则,将抛出拒绝访问错误。

“完全控制”权限应应用于网站用户组,请在列表中尝试中断权限继承并删除该组:

代码语言:javascript
运行
复制
# Provide credentials over here
$creds = (New-Object System.Management.Automation.PSCredential "<<UserName>>",(ConvertTo-SecureString "<<Password>>" -AsPlainText -Force))
 
# Provide URL of the Site over here
# If you do not wish to pass credentials hard coded then you can use: -Credentials (Get-Credential). This will prompt to enter credentials
Connect-PnPOnline -Url http://MyServer/sites/MySiteCollection -Credentials $creds
 
# Get Context
$clientContext = Get-PnPContext
 
$targetWeb = Get-PnPWeb
 
# Get the list object
$targetList = $targetWeb.Lists.GetByTitle("List Name")
 
# Load List object
$clientContext.Load($targetList)
$clientContext.ExecuteQuery()
 
# This method will work only if the role inheritence is broken(list has unique role assignments) on the list
$targetList.RoleAssignments.Groups.RemoveByLoginName("test Visitors")
 
$clientContext.ExecuteQuery()
 
Disconnect-PnPOnline
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65798099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档