Forum Discussion
Skypojames
Aug 17, 2023Copper Contributor
GUID returned instead of Group Name when using Get-PnPWeb -Includes RoleAssignments
I'm querying all our Sharepoint online sites for Role Assignments, which is working but I'm getting a strange GUID.
My Powershell should return the group name or a GUID but its returning something that isn't a GUID or Group Name. The command I'm running is Get-PnPWeb -Includes RoleAssignments
connect-pnponline -url $SiteURL -Interactive
#Get the web
$Web = Get-PnPWeb -Includes RoleAssignments
#Loop through each permission assigned and extract details
$PermissionData = @()
ForEach ($RoleAssignment in $Web.RoleAssignments)
{
#Get the Permission Levels assigned and Member
Get-PnPProperty -ClientObject $RoleAssignment -Property RoleDefinitionBindings, Member
#Get the Permission Levels assigned
$PermissionLevels = ($RoleAssignment.RoleDefinitionBindings | Select -ExpandProperty Name | Where { $_ -ne "Limited Access"} ) -join ","
#Leave Principals with no Permissions
If($PermissionLevels.Length -eq 0) {Continue}
$PermissionType = $RoleAssignment.Member.PrincipalType
#Get SharePoint group members
If($PermissionType -eq "SharePointGroup")
{
#Get Group Members
$GroupMembers = Get-PnPGroupMember -Identity $RoleAssignment.Member.LoginName
#Leave Empty Groups
If($GroupMembers.count -eq 0){ Continue }
$GroupUsers = ($GroupMembers | Select -ExpandProperty LoginName | Where { $_ -ne "SHAREPOINT\system"}) -join "; "
#Add the Data to Object
$Permissions = New-Object PSObject
$Permissions | Add-Member NoteProperty Name($RoleAssignment.Member.Title)
write-host $RoleAssignment.Member.Title
$Permissions | Add-Member NoteProperty Accounts($GroupUsers)
$Permissions | Add-Member NoteProperty Type($PermissionType)
$Permissions | Add-Member NoteProperty PermissionLevels($PermissionLevels)
$PermissionData += $Permissions
}
Else
{
#Add the Data to Object
$Permissions = New-Object PSObject
$Permissions | Add-Member NoteProperty Name($RoleAssignment.Member.Title)
write-host $RoleAssignment.Member.title
$Permissions | Add-Member NoteProperty Accounts($RoleAssignment.Member.LoginName)
$Permissions | Add-Member NoteProperty Type($PermissionType)
$Permissions | Add-Member NoteProperty PermissionLevels($PermissionLevels)
$PermissionData += $Permissions
}
}
My Powershell should return the group name or a GUID but its returning something that isn't a GUID or Group Name. Does anyone know what this is is as it is not a GUID that I can see (highlighted in Red). It should display the Office 365 group name, which in the PowerShell is $Roleassignment.Member.Title
c:0u.c|tenant|6e21d208089efef03e86b8d04ba741e4fafd39a759b687b978d81055ee108508
No RepliesBe the first to reply