private/core/Get-PolicyAssignmentTarget.ps1

function Get-PolicyAssignmentTarget {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)]
        $Assignments
    )

    if (-not $Assignments -or $Assignments.Count -eq 0) {
        return "None"
    }

    $includedTargets = @()
    $excludedTargets = @()

    foreach ($assignment in $Assignments) {
        $isExcluded = $assignment.target.'@odata.type' -eq '#microsoft.graph.exclusionGroupAssignmentTarget'

        if ($assignment.target.groupId -and $assignment.target.groupId -ne "") {
            $groupName = Invoke-ZtGraphRequest -RelativeUri "groups/$($assignment.target.groupId)?`$select=displayName" -ApiVersion v1.0
            if ($isExcluded) {
                $excludedTargets += $groupName.displayName
            }
            else {
                $includedTargets += $groupName.displayName
            }
        }
        elseif ($assignment.target.'@odata.type' -eq '#microsoft.graph.allDevicesAssignmentTarget') {
            $includedTargets += "All Devices"
        }
        elseif ($assignment.target.'@odata.type' -eq '#microsoft.graph.allLicensedUsersAssignmentTarget') {
            $includedTargets += "All Users"
        }
    }

    # Build grouped assignment target string
    $assignmentParts = @()
    if ($includedTargets.Count -gt 0) {
        Add-Member -InputObject $Assignments -MemberType NoteProperty -Name IncludedTargets -Value $includedTargets -Force
        $assignmentParts += "**Included:** " + ($includedTargets -join ", ")
    }

    if ($excludedTargets.Count -gt 0) {
        Add-Member -InputObject $Assignments -MemberType NoteProperty -Name ExcludedTargets -Value $excludedTargets -Force
        $assignmentParts += "**Excluded:** " + ($excludedTargets -join ", ")
    }

    if ($assignmentParts.Count -gt 0) {
        return $assignmentParts -join ", "
    }
    else {
        Add-Member -InputObject $Assignments -MemberType NoteProperty -Name AssignmentSummary -Value "None" -Force
        return "None"
    }
}