Powershell .csv foreach行添加相同的值

时间:2018-11-08 15:10:35

标签: powershell

我正在从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 :(得分:1)

您确实非常亲密。像这样使用Calculated properties-

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

答案 1 :(得分:0)

尝试一下:

Import-Csv unformatted.csv | Select-Object *, @{name="Target"; expression={"TARGRET"}} | Export-csv Target.csv -NoTypeInformation