Forum Discussion

Skypojames's avatar
Skypojames
Copper Contributor
Aug 17, 2023

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

Resources