Powershell附加CSV

时间:2013-07-09 17:29:48

标签: powershell

我正在尝试附加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 个答案:

答案 0 :(得分:13)

documentation表示存在-append标记。给出的示例以

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

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

答案 1 :(得分:5)

PowerShell v3引入了

-Append,它在PowerShell v2及更早版本中不可用。你可以像这样解决这个问题:

... | ConvertTo-Csv -NoTypeInformation `
    | select -Skip 1 `
    | Out-File -Append "c:\bin\dalogon.csv"

答案 2 :(得分:1)

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

我基本上创建了一个包含我数据的字符串,然后将其传输到out-file。这是一个例子:

$myCSV = "C:\_PSScripts\data\myCSV.csv"
$firstOutputLine = "Column-1,Column-3,Column-3"
$firstOutputLine | out-file $myCSV -Encoding ascii -Force -Append

答案 3 :(得分:0)

很好!但它只是CSV文件中的一列!如何将许多列放到下面的代码中:

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"}