Write-Output ("Email: $object.EmailAddress")
Как отступление: здесь не нужно (...)
.
Это не то, что вы ожидаете это: он преобразует $object
в целом и затем добавляет .EmailAddress
дословно ; для встраивания выражения , например, доступа к свойству внутри "..."
(расширяемая строка), вам необходим $()
, оператор подвыражения .
Write-Output "Email: $($object.EmailAddress)" >> C:\psoutput\psoutput.txt
См. этот ответ для обзора синтаксиса в расширяемых строках PowerShell.
Или, больше просто с использованием PowerShell неявное выходное поведение (использование Write-Output
редко требуется) :
"Email: $($object.EmailAddress)" >> C:\psoutput\psoutput.txt
>> C:\psoutput\psoutput.txt -Append
>>
фактически является псевдонимом для Out-File -Append
(точно так же, как >
только для Out-File
), так что не только необходимость для -Append
, не интерпретируется >>
, который принимает только операнд имени файла.
Вместо -Append
интерпретируется Write-Output
, именно поэтому он буквально оказался в вашем выходном файле.
Возможно, это удивительно, хотя перенаправление, такое как >> C:\psoutput\psoutput.txt
, равно , как правило , помещено last в командной строке, который не является требованием syntacti c: могут следовать другие аргументы.
Я хочу получить вывод, подобный следующему ..
Звучит так требуется форматирование в соответствии с Format-List
командлетом :
$object | Format-List >> C:\psoutput\psoutput.txt
Обратите внимание, что >
/ >>
/ Out-File
применяется default форматирование строки, то есть то же представление, которое по умолчанию будет отображаться в консоли .
Используя явный командлет Format-*
, вы можете управлять этим форматированием, но обратите внимание две вещи о Out-File
в целом:
Когда вы выводите форматы для отображения , результирующий файл может не подходить для дальнейшей программирования c обработки .
Чтобы предотвратить усечение значений, вам может потребоваться передать аргумент -Width
в Out-File
, управлять перечислением длина вложенных свойств с $FormatEnumerationLimit
, а в случае Format-Table
укажите -AutoSize
.