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

7

-AppendPowerShell 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 の解決策は実際には 2 つあります。1 つ目は、すべてのデータを配列に保存してから、export-csv コマンドレットを使用することです。スクリプトを書き直さない限り、それはうまくいきませんでした。ファイルを作成するには、CSV を作成し、1 行ずつ追加する必要がありました。そこで、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 に答える