Public/Get-PWSHCertutilConfig.ps1

function Get-PWSHCertutilConfig {
    <#
    .SYNOPSIS
        Reads and displays the Posh-Certutil configuration as PowerShell objects.
    .DESCRIPTION
        Reads the embedded Posh-Certutil.json configuration file and returns its contents
        as structured PowerShell objects. Returns all profiles unless -Profile is specified.
    .PARAMETER Profile
        Name of a specific profile to return. If omitted, all profiles are returned.
    .EXAMPLE
        Get-PWSHCertutilConfig
        Returns all profiles from the configuration file.
    .EXAMPLE
        Get-PWSHCertutilConfig -Profile 'prod-pki'
        Returns only the 'prod-pki' profile configuration.
    .OUTPUTS
        PSCustomObject. One object per profile with Profile (name) and Config properties.
    #>

    [CmdletBinding()]
    [OutputType([PSCustomObject])]
    param()

    dynamicparam {
        New-ProfileDynamicParameter
    }

    process {
        $Profile = $PSBoundParameters['Profile']
        $config  = Read-ConfigFile

        if ($PSBoundParameters.ContainsKey('Profile')) {
            $profileConfig = Get-ProfileConfig -Config $config -ProfileName $Profile
            [PSCustomObject]@{
                Profile = $Profile
                Config  = ConvertTo-ProfileSyncStateDateTime -ProfileConfig $profileConfig
            }
        } else {
            foreach ($name in $config.profiles.PSObject.Properties.Name) {
                [PSCustomObject]@{
                    Profile = $name
                    Config  = ConvertTo-ProfileSyncStateDateTime -ProfileConfig $config.profiles.$name
                }
            }
        }
    }
}