我正在尝试附加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}
谢谢你, 埃里克
答案 0 :(得分:13)
documentation表示存在-append
标记。给出的示例以
| export-csv –append –path \\Archive01\Scripts\Scripts.csv
你试过吗?这对我来说可以。如果重要的话,我就是第3版。
答案 1 :(得分:5)
-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"}