我想从其上的所有位置删除一个站点上的所有唯一权限,无论它们是库中的列表,库,列表项,文件夹还是文档。必须删除所有唯一权限。
我发现PS脚本删除列表或网站上的唯一权限,但就是这样,没有从所有位置删除的示例。
我发现的脚本如下:$WebURL ="#"
$web = Get-SPWeb $WebURL
if ( ($web.HasUniqueRoleAssignments) -and ($web.IsRootWeb -eq $false ) )
{
$web.ResetRoleInheritance()
Write-host "Broken Inheritance Reset on web:" $web.URL
}
列表:
$WebURL ="#"
$Web = Get-SPWeb $WebURL
$ListColl = $web.lists | Where-Object
{
($_.HasUniqueRoleAssignments -eq $true) -and ($_.hidden -eq $false)
}
foreach($list in $ListColl) #if($list) #Exists
{
$list.ResetRoleInheritance()
Write-host "Broken Inheritance Reset on List:" $list.Title
}
任何帮助?
答案 0 :(得分:0)
所以,我设法为我的问题找到了解决方案 Bellow是Powershell脚本代码:
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
#Variable for Web URL
$WebURL ="#"
#get Web object
$Web = Get-SPWeb $WebURL
#Get Lists with Unique permissions - Exclude Hidden lists
$ListColl = $web.lists | Where-Object { ($_.hidden -eq $false) }
#Enumerate through each list and reset permission inheritance
foreach($list in $ListColl)
{
#Reset list inheritance
$list.ResetRoleInheritance()
Write-host "Broken Inheritance Reset on List:" $list.Title
$items = $list.Items | Where-Object{$_.HasUniqueRoleAssignments};
foreach($item in $items)
{
#Reset broken list item inheritance
$item.ResetRoleInheritance()
Write-host "Broken Inheritance Reset on List Item:" $item.URL
}
$folders = $list.Folders
if ($folders.Count -gt 0)
{
foreach ($folder in $folders)
{
if ($folder.HasUniqueRoleAssignments -eq $True)
{
$folder.ResetRoleInheritance()
$folder.update()
}
}
}
}
就是这样,此脚本会删除一个站点上所有文档,项目,列表,库,文件夹的所有唯一权限。
我用这个页面作为起点:
http://www.sharepointdiary.com/2014/12/delete-unique-permissions-reset-broken-inheritance-using-powershell.html