误删SharePoint库全部权限(含所有者)该如何恢复?
方案1:UI端直接操作
- 先访问站点级系统列表页:
https://<你的站点地址>/_layouts/15/viewlsts.aspx,站点集管理员身份可查看所有未被删除的列表、文档库,不受前端权限隐藏限制,从中找到你要恢复权限的库,点击进入对应页面 - 点击页面右上角齿轮设置图标,选择「库设置」
- 在「权限和管理」分类下选择「此文档库的权限」
- 点击页面顶部「授予权限」,添加你的站点管理员账号,分配完全控制权限即可
若该页面找不到目标库,可访问
https://<你的站点地址>/_layouts/15/AdminRecycleBin.aspx查看站点集回收站,确认库是否被误删除。
方案2:PowerShell强制重置权限(适用于UI操作失败场景)
- 本地安装SharePoint Online Management Shell模块后打开,先执行连接命令:
Connect-SPOService -Url https://<你的租户域名>-admin.sharepoint.com
- 替换下方脚本占位符后执行,即可强制给你的账号分配库的完全控制权限:
# 替换为实际信息 $siteUrl = "https://<租户域名>.sharepoint.com/sites/<站点名>" $libraryName = "<目标文档库名称>" $adminAccount = "<你的站点集管理员账号>" # 连接站点 $context = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl) $credentials = Get-Credential -Credential $adminAccount $context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($credentials.UserName, $credentials.Password) # 获取目标文档库 $list = $context.Web.Lists.GetByTitle($libraryName) $context.Load($list) $context.ExecuteQuery() # 打破权限继承(保留现有权限设置) $list.BreakRoleInheritance($true, $false) $context.ExecuteQuery() # 分配完全控制权限给管理员账号 $roleDef = $context.Web.RoleDefinitions.GetByName("完全控制") $roleBind = New-Object Microsoft.SharePoint.Client.RoleDefinitionBindingCollection($context) $roleBind.Add($roleDef) $user = $context.Web.EnsureUser($adminAccount) $list.RoleAssignments.Add($user, $roleBind) $context.ExecuteQuery()
- 脚本执行完成后刷新文档库页面,即可正常访问和调整其他用户权限。如果是本地部署的SharePoint Server版本,替换为对应版本的PowerShell模块即可,操作逻辑完全一致。
内容的提问来源于stack exchange,提问作者Bob Winds
相关产品推荐
相关产品推荐

