Forum Discussion
Get SharePoint Groups or Security Groups and Permissions for each Sub Web.
- Mar 13, 2020
It works --->
Connect-PnPOnline - <<Give details here>>
$context.Load($context.Web.RoleAssignments)
$context.Load($context.Web.RoleAssignments.Groups)
Invoke-PnPQuery -ErrorAction Stop
ForEach($group in $context.Web.RoleAssignments.Groups)
{
$context.Load($group)
Invoke-PnPQuery -ErrorAction Stop
$perm = Get-PnPGroupPermissions -Identity $group.Title
if($perm.Name.Count -gt 0) {
for($i=0; $i -lt $perm.Count;$i++){
Set-PnPGroup -Identity $group.Title -RemoveRole $perm[$i].Name
}
Set-PnPGroup -Identity $group.Title -AddRole "Read"
}
Robert Luck wrote:
It's AdminDroid. You can check out the interactive demo http://demo.admindroid.com.
Thanks Robert Luck the name did escape me monentarily. Ideally this should be something we should get via the PnPCommandlet esp when considering there is -Web parementer.
It works --->
Connect-PnPOnline - <<Give details here>>
$context.Load($context.Web.RoleAssignments)
$context.Load($context.Web.RoleAssignments.Groups)
Invoke-PnPQuery -ErrorAction Stop
ForEach($group in $context.Web.RoleAssignments.Groups)
{
$context.Load($group)
Invoke-PnPQuery -ErrorAction Stop
$perm = Get-PnPGroupPermissions -Identity $group.Title
if($perm.Name.Count -gt 0) {
for($i=0; $i -lt $perm.Count;$i++){
Set-PnPGroup -Identity $group.Title -RemoveRole $perm[$i].Name
}
Set-PnPGroup -Identity $group.Title -AddRole "Read"
}