Powershell 删除SharePoint 2013网站上所有位置的唯一权限

Powershell 删除SharePoint 2013网站上所有位置的唯一权限,powershell,permissions,sharepoint-2013,unique,Powershell,Permissions,Sharepoint 2013,Unique,我想从一个站点上的所有位置删除该站点上的所有唯一权限,无论它们是列表、库、列表项、文件夹还是库中的文档。必须删除所有唯一权限 我发现PS脚本可以删除列表或站点上的唯一权限,但仅此而已,没有示例可以从所有位置删除 我找到的脚本如下: 对于站点: $WebURL ="#" $web = Get-SPWeb $WebURL if ( ($web.HasUniqueRoleAssignments) -and ($web.IsRootWeb -eq $false ) ) { $web.ResetRol

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

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

有什么帮助吗?

所以,我设法找到了问题的解决方案。
下面是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()
  }
 }
}
}
就是这样,此脚本将删除一个站点上所有文档、项目、列表、库和文件夹的所有唯一权限。
我使用此页面作为起点:

所以,我设法为我的问题找到了解决办法。
下面是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()
  }
 }
}
}
就是这样,此脚本将删除一个站点上所有文档、项目、列表、库和文件夹的所有唯一权限。
我使用此页面作为起点: