'Duplicate SQL results from Powershell CSV export

I am trying to output SQL results to a .csv file using Powershell separated by its respective column.

The script I wrote works, but it will duplicate the same result three times in the csv. Even if I have only 1 result from the Select statement from the table, it will output it three times in the .csv file.

I tried using pscustomobject as well. But it throws me an error and does not output anything.

Clear-Variable Results
Clear-Variable Report
[string] $query = "Select Name, Value From options with(nolock) where Name IN('ExportFolder','ImportFolder','GlobalExportFolder'); Select @@ROWCOUNT AS AffectedRows"

[string[]] $servers = @('sqlinstance=mytestdb') 
 
foreach($server in $servers)
{
    $instance = ($server -split '=')[0]
    $db = ($server -split '=')[1]

        Try{
                $Results = Invoke-Sqlcmd -ServerInstance $instance -Database $db -Query $query                 
               
                $ExportFolder = ($Results.ItemArray[1])
                $GlobalExportFolder = ($Results.ItemArray[3])
                $ImportFolder = ($Results.ItemArray[5]) 

                $Array = '$ExportFolder','$GlobalExportFolder','ImportFolder'               

                $mail = $Array | Select-Object @{n="SQLServer";e={$instance}},@{n="DBName";e={$db}}, @{n="ExportFolder";e={$ExportFolder}}, @{n="GlobalExportFolder";e={$GlobalExportFolder}}, @{n="ImportFolder";e={$ImportFolder}} 

                $mail | Export-Csv -Path "C:\Users\localadmin\Documents\Logs\HostNameCheck.csv" -NoTypeInformation -Append -Verbose    

                $Report += $Results  
                $Report | Select Name, Value | Export-Csv -Path "C:\Users\localadmin\Documents\Logs\SFTPHostnameModificationCheck.csv" -NoTypeInformation -Append -Verbose                
                
                Clear-Variable Results
                Clear-Variable Report           
           } 
           Catch {                     
                Write-Host ("Error: Data retrieval failed against instance $instance for $db" + " - " + (Get-Date)) -ForegroundColor Red 
                Write-Output ("Error: Data retrieval failed against $instance on $db" + " - " + (Get-Date)) | Out-File -FilePath $PathFailedLogs -Append                      
           }
} 

$attachment = Get-ChildItem -Path "C:\Users\localadmin\Documents\Logs" -Include *.csv -Recurse -Force

Send-MailMessage -From "[email protected]" -To "[email protected]" -Subject "SFTPHostnameCheck" -SmtpServer "[email protected]" -Attachments $attachment

Using PSCustomObject

$obj = New-Object [PSCustomObject] -Property @{
      'SQLServer' = $instance
      'DBName' = $db
      'ExportFolder' = "$ExportFolder
      'GlobalExportFolder' = $GlobalExportFolder
      'ImportFolder' = $ImportFolder"
}

$list += $obj 
$list | Export-Csv -Path "C:\Users\localadmin\Documents\Logs\HostNamecheck.csv" -NoTypeInformation -Append -Verbose


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source