Private/Test-EntraIdPrincipal.ps1

function Test-EntraIdPrincipal {
    param(
        [Parameter(Mandatory)]
        [string]$PrincipalName
    )

    $odataFilter = "displayName eq '$($PrincipalName.Replace("'", "''"))'"
    $lookupErrors = @()

    if (Get-AzADUser             -UserPrincipalName $PrincipalName -ErrorAction SilentlyContinue -ErrorVariable +lookupErrors) { return $true }
    if (Get-AzADServicePrincipal -Filter $odataFilter              -ErrorAction SilentlyContinue -ErrorVariable +lookupErrors) { return $true }
    if (Get-AzADGroup            -Filter $odataFilter              -ErrorAction SilentlyContinue -ErrorVariable +lookupErrors) { return $true }

    if ($lookupErrors) {
        Write-Warning "Entra ID lookup for '$PrincipalName' failed with errors (treating as not found): $($lookupErrors -join '; ')"
    }

    return $false
}