2016-06-21 96 views
1

我想从站点上的所有位置删除站点上的所有唯一权限,无论它们是库中的列表,库,列表项,文件夹还是文档。必须删除所有唯一权限。删除站点上所有位置的唯一权限SharePoint 2013

我发现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

所以,我设法找到了我的问题的解决方案。
贝娄是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