Powershell.csv foreach行添加相同的值



我正在从AD导出有关组成员的信息,我想在新列中给他们传递一个"target"值。我找到了如何创建一个新的头,但没有找到如何添加值。它应该很简单,因为现在我只需要为所有用户传递相同的值。

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

你确实非常接近。使用这样的计算属性-

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

您可以将属性添加到像这样的对象-

$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

试试这个:

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

最新更新