Powershell-导出CSV和追加

标签 powershell export-to-csv

我有一个如下脚本:

$in_file = "C:\Data\Need-Info.csv"
$out_file = "C:\Data\Need-Info_Updated.csv"
$list = Import-Csv $in_file 
ForEach ( $user in $list ) {
$zID = $user.zID
ForEach-Object { Get-QADUser -Service 'domain.local' -SearchRoot 'OU=Users,DC=domain,DC=local' -SizeLimit 75000 -LdapFilter "(&(objectCategory=person)(objectClass=user)(PersonzID=$zID))" |
Select-Object DisplayName,samAccountName,@{Name="zID";expression={$zID}} | 
Export-Csv $out_file -NoTypeInformation -Force
}
}

但是,我无法获得将所有结果输出到$ out_file的信息,因为它似乎没有将数据追加到csv文件中。我尝试了许多在网上找到的东西,想法和建议。他们似乎都没有工作,我觉得我在这里很容易错过一些东西。有没有一种方法可以将数据追加到文件中?如果是这样,您可以提供一个示例或一段代码以使其以这种方式工作吗?我不是要重写所有代码或沿这些行的任何内容,而只是要求将要导出的数据附加到输出文件中。

最佳答案

将foreach循环转换为foreach对象,并将export-csv移至foreach外部对象之外,以便可以将所有对象通过管道传递到export-csv。

像这样(未经测试):

$list | ForEach {
$zID = $_.zID
ForEach-Object { Get-QADUser -Service 'domain.local' -SearchRoot 'OU=Users,DC=domain,DC=local' -SizeLimit 75000 -LdapFilter "(&(objectCategory=person)(objectClass=user)(PersonzID=$zID))" |
Select-Object DisplayName,samAccountName,@{Name="zID";expression={$zID}} | 

}
} |Export-Csv $out_file -NoTypeInformation -Force

关于Powershell-导出CSV和追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220239/

相关文章:

powershell - Resolve-DnsName - 特定端口上的服务器

c# - 使用 Uri 创建时,新 Runspace 对象的 SessionStateProxy 属性为空

powershell - 将 LastLogon 转换为 DateTime 格式

asp.net-web-api - 无法从 Web API 下载 csv 文件

powershell - 如何查找文件夹中名称包含列表中的单词的所有文件?

arrays - jq - 为数组上的值添加前缀

javascript - 使用 Javascript 将 JSON 转换为 CSV 不会给出 key

python - 将包含 utf-8 文本和 URL 的文本列导出 Pandas 数据框到 Excel

PHP MySQL csv 导出

winforms - PowerShell 日历弹出窗口