Когда я запускаю этот скрипт синтаксического анализатора в файле contacts.xml, который показывает одну строку на пользователя, я получаю несколько экземпляров одних и тех же данных. Я хочу только одну запись для тех же данных. Как сделать дедупликацию данных перед их записью в CSV?
#https://stackoverflow.com/questions/29999682/powershell-parsing-a-text-file
$input = Get-Content $env:USERPROFILE\Downloads\contacts.xml\Downloads\contacts.xml
$array = @()
$input | % {
$writeobj = $false
$obj = New-Object System.Object
if ($_ -match 'email*') {
$Email = ($_ -split ':')[1]
}
if ($_ -match 'FN*') {
$NAME = ($_ -split ':')[1]
$writeobj = $true
}
if ($writeobj) {
$obj | Add-Member -Type NoteProperty -Name Email -Value $Email
$obj | Add-Member -Type NoteProperty -Name Name -Value $NAME
$array += $obj
}
Write-Host $Name, $email
}
$array | Export-Csv -Path C:\scripts\reports\test.csv -NoTypeInformation
Я ожидаю, что это произведет отдельные записи, но я получу дубликаты (и они тоже не выстраиваются в очередь).
(И да, я проверил XML-файл для отдельных записей)