7

我正在尝试附加一个 CSV 文件。这是我正在使用的线路。不幸的是,我找不到 export-csv 的附加选项。任何想法都会有助于让它发挥作用。

Get-ADGroupMember "Domain Admins" | select name, samaccountname | Export-Csv c:\bin\DomainAdmins.csv

$admins = Import-Csv C:\bin\DomainAdmins.csv

foreach ($i in $admins) {Get-ADUser $i.samaccountname -properties * | select name, lastlogondate | Export-Csv c:\bin\dalogon.csv}
4

4 回答 4

15

文档表明有一个标志-append。给出的示例以

|  export-csv –append –path \\Archive01\Scripts\Scripts.csv

你试过吗?这对我来说可以。我在第 3 版,如果这很重要的话。

于 2013-07-09T17:39:40.733 回答
7

-Append是随 PowerShell v3 引入的,它在 PowerShell v2 及更早版本中不可用。不过,您可以像这样解决它:

... |
    ConvertTo-Csv -NoTypeInformation |
    Select-Object -Skip 1 |
    Out-File -Append "c:\bin\dalogon.csv"
于 2013-07-09T19:37:06.453 回答
1

几天前我也遇到了这个问题。我知道在 Powershell 2 中确实有两种解决方案。第一种是将所有数据保存在一个数组中,然后使用 export-csv 命令行开关。除非我重写我的脚本,否则这对我不起作用。我需要创建一个 CSV 并逐行附加来构建文件。所以,我用 out-file -append 解决了这个问题,并将编码更改为 ascii。

我基本上创建了一个包含我的数据的字符串,然后将其通过管道传输到输出文件。这是一个例子:

$myCSV = "C:\_PSScripts\data\myCSV.csv"
$firstOutputLine = "Column-1,Column-3,Column-3"
$firstOutputLine | out-file $myCSV -Encoding ascii -Force -Append
于 2014-01-23T15:48:55.397 回答
0

很好!但它只是 CSV 文件中的 1 列!如何将多个列作为以下代码:

Import-Module -Name 'C:\Program Files\Quest Software\Management Shell for AD\Quest.ActiveRoles.ArsPowerShellSnapIn.dll'
$group="HO-Internet","Internet1","Internet2","Internet3"
$group |ForEach-Object {Echo "--------------------Group Name $_ ----------------"; Get-QADGroupMember $_ | Select-Object Email,LogonName,ParentContainer,LastLogon,AccountIsDisabled |ConvertTo-Csv -NoTypeInformation `
    | select -Skip 1 `
    | Out-File -Append "D:\test.csv"}
于 2013-11-20T09:23:09.127 回答