То же самое, что и в прошлый раз.
У вас в выводе встречаются несколько разных объектов
Сначала $lol.IdentityReference
потом $myArray
Состав полей у объектов разный. Перед выводом, собственно на экран (хост), Powershell буферизует вывод и пытается его подстроить под вас.
Для этого он берёт состав полей второго объекта (там список с полями)
PS полагает, что данный объект и должен быть примером, поэтому пытается выводить на экран для первого объекта те же поля, что и для второго. А там их, конечно, нет. В результате не выводится ничего.
Промежуточный вывод на хост через Format- разбивает буфер и вы видите оба объекта со своими полями
Ну и, как я писал в прошлый раз, необходимо выводить всё единообразно. Работаете только с экраном ?
Используйте Out-Host, Write-Host, Format-xxx
Хотите выводить в потоки, переменные и тп - используете обычные выводы
Фактически ваш вызов $lol.IdentityReference
это для Powershell $lol.IdentityReference | Out-Default
, потому что далее этот вывод никуда не попадает, ни в переменную, ни в поток
А вам явно бы хотелось Out-Host