1

ファイルから追加のデータを取得し、統合してからエクスポートするために、エクスポート前にデータを収集する方法を見つけようとしています。

私のコードは次のようなものです: 多くのソースからユーザーとコンピューターを検索し、データを統合する → 2 列 (name,computer) の配列を作成する → そのデータを output.log にエクスポートする

探しているデータは時々動的に変化するため、スクリプトを1日に複数回実行したいので、次回はoutput.logから配列にデータを取得します→新しいデータの収集を続け、それらを既存の出力に追加します。ログ。

現時点では、コードを実行するたびに output.log が上書きされる場所に行き詰まっています。

私のコードは次のようなものです:

Set-Variable -Name Computer -Value @("pc1","pc2")
Set-Variable -Name LogNames -Value @("something")

$el_c = @()
foreach ($comp in $Computer) {
  foreach ($log in $LogNames) {
    $el = ...    # get data I need from $comp
    $el_c += $el  #consolidating
  }
}

$el_c | %{
  $_ | select @{n='Name';e={$_.Properties[0].value}}, @{n='Computer';e={$_.Properties[1].value}}
} | Export-Csv "C:\test\OutputRaw.log"
$input = 'C:\test\OutputRaw.log'  #TO FILTER OUT DUPLICATION
$inputCsv = Import-Csv $input | Sort-Object * -Unique 
$inputCsv | Export-Csv "C:\test\OutputFinal.log" -NoTypeInformation

出力は次のとおりです。

「名前」、「コンピューター」
「ダン」、「PC1」
「トム」、「PC2」

ファイルに抽出する前に、「output.log」からデータを取得し、新しく収集されたデータにマージ/追加/統合する前に、どのように実装できますか?

4

4 に答える 4

0

-Appendパラメータを使用Export-CSV:

Export-Csv "C:\test\Output.log" -Append
于 2017-08-21T13:12:31.743 に答える