Командлеты Out-File и Out-String отличаются по способу вывода данных в файл в PowerShell. 1
Out-File перенаправляет выходные данные в указанный файл. 1 При этом объект не форматируется. 2 У командлета есть дополнительные параметры, которые позволяют гибко управлять выводом: задавать тип кодировки файла, длину выводимых строк в знаках, выбирать режим перезаписи файла. 4
Out-String, в отличие от Out-File, принимает объекты, преобразует их в массив строк и передаёт дальше по конвейеру. 1 По умолчанию данные накапливаются и возвращаются одной строкой, но с помощью ключа Stream можно указать вывод по отдельной строке для каждого объекта. 1
Таким образом, Out-File фокусируется на сохранении данных в файл с определёнными настройками, в то время как Out-String занимается преобразованием объектов в строки и их дальнейшей обработкой.