Public/Get-CPCProvisioningPolicy.ps1

function Get-CPCProvisioningPolicy {
    <#
    .SYNOPSIS
    Returns all Provisioning Policy's or Provisioning Policy's with a specific name

    .DESCRIPTION
    The function will return all Provisioning Policy's or Provisioning Policy's with a specific name
    .PARAMETER name
    Enter the name of the Provisioning Policy
    .EXAMPLE
    Get-CPCProvisioningPolicy -name "ProvisioningPolicy01"
#>

    [CmdletBinding()]
    param (
        [parameter(ParameterSetName = "Name")]
        [string]$Name 
    )
    
    Begin {
        Get-TokenValidity

        switch ($PsCmdlet.ParameterSetName) {
            Name {
                Write-Verbose "Name parameter provided"
                $url = "https://graph.microsoft.com/$script:MSGraphVersion/deviceManagement/virtualEndpoint/provisioningPolicies?`$filter=displayName+eq+'$($Name)'"
            }
            default {
                $url = "https://graph.microsoft.com/$script:MSGraphVersion/deviceManagement/virtualEndpoint/provisioningPolicies"
            }
        }
    }
    
    Process {
        write-verbose $url
        $result = Invoke-WebRequest -uri $url -Method GET -Headers $script:authHeader
    
        if ($null -eq $result) {
            Write-Error "No Provisioning Policy's returned"
            break
        }

        $resultnew = $result.content | ConvertFrom-Json
        $returnResults = @()
        $resultnew.value | ForEach-Object {
    
            $Info = [PSCustomObject]@{
                id                       = $_.id
                displayName              = $_.displayName
                imageId                  = $_.imageId
                imageDisplayName         = $_.imageDisplayName
                imageType                = $_.imageType
                enableSingleSignOn       = $_.enableSingleSignOn
                DomainJoinConfigurations = $domainJoinConfigurations
                windowsSettings          = $_.windowsSettings
                CloudPcNamingTemplate    = $_.CloudPcNamingTemplate

            }
            $returnResults += $Info
        }
        return $returnResults
    
    }
    
}