SharePoint Asked by Suresh Bolineni on December 12, 2021
Can any one code me to retrieve the permission levels tagged for the group using Powershell CSOM.Please tell me the property
her is my code sample
Add-Type -Path "C:\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Microsoft.SharePoint.Client.Runtime.dll"
#SPO Client Object Model Context
$spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteUrl)
$spoCredentials = New-Object System.Net.NetworkCredential($sUserName, $sPassword)
$spoCtx.Credentials = $spoCredentials
$web = $spoCtx.Web
$spGroups =$web.SiteGroups
$spoCtx.Load($spGroups)
$spoCtx.ExecuteQuery()
foreach($group in $spGroups)
{
#Write-Host " Group Name = $($group.Title)"
}
I have found the solution to retrieve the Permission levels using RoleAssignments
and RoleDefinition
here is my code
Function Get-Permissions([Microsoft.SharePoint.Client.ClientContext]$Object ,[Microsoft.SharePoint.Client.RoleAssignmentCollection]$RoleAssignmentsCol)
{
[email protected]()
$spoCtx = $Object
foreach($RoleAssignment in $RoleAssignmentsCol)
{
$RoleDefinitionBindings = $RoleAssignment.RoleDefinitionBindings
$RoleAssignmentMember = $RoleAssignment.Member
$spoCtx.Load($RoleDefinitionBindings)
$spoCtx.Load($RoleAssignmentMember)
$spoCtx.ExecuteQuery()
foreach ($RoleDefinition in $RoleDefinitionBindings)
{
$GroupProperty = New-Object System.Object
$GroupProperty | Add-Member -type NoteProperty -name LoginName -value $RoleAssignmentMember.LoginName
$GroupProperty | Add-Member -type NoteProperty -name PrincipalType -value ([Microsoft.SharePoint.Client.Principal]$RoleAssignmentMember).PrincipalType
$GroupProperty | Add-Member -type NoteProperty -name PermissionLevel -value $RoleDefinition.Name
$spGroups += $GroupProperty
}
}
return $spGroups
}
function GetSitePermisions
{
try
{
Add-Type -Path "D:Microsoft.SharePoint.Client.dll"
Add-Type -Path "D:Microsoft.SharePoint.Client.Runtime.dll"
$sSiteUrl = Read-Host -Prompt "Enter Site Collection URL (eg: http://Server:port/Sites/Dev)"
$sUserName = Read-Host -Prompt "Enter User Name(eg: domainusername)"
$sPassword = Read-Host -Prompt "Enter your password" -AsSecureString
#SPO Client Object Model Context
$spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteUrl)
$spoCredentials = New-Object System.Net.NetworkCredential($sUserName, $sPassword)
$spoCtx.Credentials = $spoCredentials
$web = $spoCtx.Web
$RoleAssignmentsCol = $web.RoleAssignments
$spoCtx.Load($web)
$spoCtx.Load($RoleAssignmentsCol)
$spoCtx.ExecuteQuery()
$GrouppermissionLevel = @()
Write-Host "getting Permission Level details"
$spGroups = Get-Permissions $spoCtx $RoleAssignmentsCol
foreach($group in $spGroups)
{
$GrouppermissionLevel = New-Object -TypeName PSObject -Property @{
GroupName = $group.LoginName
PrincipalType= $group.PrincipalType
PermissionLevel = $group.PermissionLevel
} | Select GroupName,PrincipalType,PermissionLevel
$GrouppermissionLevel| Export-CSV ("D:GroupPermissionLevel.csv") -NoTypeInformation -Append
}
}
catch [System.Exception]
{
Write-Host -ForegroundColor Red $_.Exception.ToString()
}
}
GetSitePermisions ;
Answered by Suresh Bolineni on December 12, 2021
2 Asked on January 6, 2022
1 Asked on January 6, 2022
1 Asked on January 6, 2022 by jes516
1 Asked on January 6, 2022 by ah-jamali
1 Asked on January 4, 2022
3 Asked on January 4, 2022 by default_noob_network
1 Asked on January 4, 2022 by j-choe
2 Asked on January 2, 2022 by rothrock
1 Asked on January 2, 2022 by drvr
1 Asked on January 2, 2022 by scott-davis
3 Asked on January 2, 2022 by lieptas
column formatting date time json formatting modern experience sharepoint online
1 Asked on December 31, 2021
development office 365 sandbox solution sharepoint online site logo
1 Asked on December 31, 2021 by okmqaz135
2 Asked on December 31, 2021 by kandace
2 Asked on December 31, 2021 by namwar-rizvi
microsoft teams modern team site pnp powershell rest sharepoint online
3 Asked on December 31, 2021
1 Asked on December 31, 2021 by ahmed-alsharkawy
1 Asked on December 31, 2021 by zombeezsp
calculated column calculated column formula date time modern experience sharepoint online
Get help from others!
Recent Questions
Recent Answers
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP