Private/Show-IAMCoreOrgUnitStructureHelper.ps1

function Show-IAMCoreOrgUnitStructureHelper {
    [CmdletBinding()]
    param (
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        $Id,

        [Parameter()]
        $Level = 0
    )

    process {
        "{0}{1}{2}" -f ("".PadRight($Level * 2, " ")), ($Script:OrgUnits[$Id].displayName.value ?? "<missing displayName>"), "($($Id))"
        if ($Script:Children.ContainsKey($Id)) {
            foreach ($ChildId in $Script:Children[$Id]) {
                Show-IAMCoreOrgUnitStructureHelper -Id $ChildId -Level ($Level + 1)
            }
        }
    }
}