Powershell 删除SharePoint 2013网站上所有位置的唯一权限
我想从一个站点上的所有位置删除该站点上的所有唯一权限,无论它们是列表、库、列表项、文件夹还是库中的文档。必须删除所有唯一权限 我发现PS脚本可以删除列表或站点上的唯一权限,但仅此而已,没有示例可以从所有位置删除 我找到的脚本如下: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
对于站点:
$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()
}
}
}
}
就是这样,此脚本将删除一个站点上所有文档、项目、列表、库和文件夹的所有唯一权限。我使用此页面作为起点: