Powershell .csv foreach строка добавляет ту же ценность - PullRequest
0 голосов
/ 08 ноября 2018

Я экспортирую информацию о членах группы из AD и хочу передать им целевое значение в новом столбце. Я смог выяснить, как создать новый заголовок, но не как добавить значения. Это должно быть довольно просто, потому что сейчас мне просто нужно передать одинаковое значение для всех пользователей.

Import-Csv unformatted.csv | Select-Object *,"Target" | Export-csv Target.csv -NoTypeInformation

LogonName,Email,Target
abc,abc@a.com,
bcd,bcd@a.com,
cde,cde@a.com,

хочу увидеть такой результат

LogonName,Email,Target
abc,abc@a.com,TARGET
bcd,bcd@a.com,TARGET
cde,cde@a.com,TARGET

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Попробуйте это:

Import-Csv unformatted.csv | Select-Object *, @{name="Target"; expression={"TARGRET"}} | Export-csv Target.csv -NoTypeInformation
0 голосов
/ 08 ноября 2018

Вы действительно очень близки. Использовать Расчетные свойства вот так -

Import-Csv unformatted.csv | Select-Object *,@{Name='Target';Expression={'TARGET'}} | Export-csv Target.csv -NoTypeInformation

OR

Вы можете добавить свойство к объектам, как это -

$csv = import-csv -path unformatted.csv -header LogonName,Email
foreach($item in $csv)
{
    Add-Member -Input $item -MemberType NoteProperty -Name Target -Value 'TARGET'
}
$csv | Select-Object LogonName, Email, Target | export-csv -path Target.csv -NoTypeInformation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...