このスクリプトでは、XMLのデータ、具体的にはマシンの名前、次にそれぞれのID番号のリストを取得します。私はそれぞれを変数にすることができますが、IDのすべてをリストすると、それぞれの最初の要素だけが表示されます。私はExport-CSV -Appendがこれを解決できたと思っていましたが、これまでのところ何もありませんでした。Export-CSVは最初の要素を返すだけです
$path="C:\Users\Desktop\DataIDs"
$xmls = Get-ChildItem $path\* -Recurse | where {$_.Name -like '*DataIDX*'}
$results = New-Object psobject
ForEach ($xml in $xmls) {
[xml]$results = Get-Content $xml
$Name = $results.Benchmark.TestResult.target
$VID1 = @($results.Benchmark.TestResult.'rule-result' | where {$_.result -eq 'fail'}).Version | Sort-Object
$VID = $VID1 | Out-String
ForEach ($id in $VID) {
$results | Add-Member -MemberType NoteProperty -Name $Name -Value $id
}
}
$results | Export-Csv $path\results.csv -NoTypeInformation -Append
Remove-Variable results
おかげでこれを試してみてください
Out-String
を削除し、再びを試してみてください、あなたは私はあなたが必要なものではないと考えている文字...を取得します、文字列オブジェクトを反復あなたはヌル値式でメソッドを呼び出すことはできませんが、あなたの言うことは正しく聞こえます – dblfaultventura
私の答えを編集しました – Avshalom