Причина, по которой ваш вывод на экран и файл выглядят очень по-разному, заключается в том, что вы не выводите одно и то же содержимое на экран и файл.
С:
Get-Content $f.FullName | Add-Content $outfile -Encoding Ascii
вы,как и подразумевает команда, получая содержимое каждого файла и выводя в $ outfile.
Пока с:
>Write-Output $f.FullName
Вы просто выводите список имен файловна экран.
Поскольку ваш вопрос говорит, что вы ищете имена файлов, просто измените:
Get-Content $f.FullName | Add-Content $outfile -Encoding Ascii
на:
$f.FullName | Add-Content $outfile -Encoding Ascii
, и он должен вывести то же самоечто нужно показать на экране как файл.
Хороший способ проверить / устранить неполадки здесь - просто удалить все после:
Get-Content $f.FullName
и посмотреть на вывод, который будет выглядетьочень похоже на файл и дает вам подсказку, что там что-то не так.