¿Hay una manera de forzar el cmdlet powershell -Export-CSV para mantener un orden de columna específico?

Soy nuevo en PowerShell, por lo que el script es un Frankenstein de varios ejemplos de sitios.

Mi pregunta es ¿cómo puedo asegurarme de que un archivo csv que estoy creando para un DataTable mantenga el orden de columna que especifico?

Mi script hace esto para rellenar los encabezados y valores de csv de esta manera:

...snip...
$dataTable | ForEach-Object {
            $csv+=New-Object PSObject -Property @{
                program_code=$_.ProgramCode;
                first_name=$_.FirstName;
                last_name=$_.LastName;
                email=$_.email;
                phone=$_.phone;
                phone2=$_.otherphone;
                address=$_.addr1;
                address2=$_.addr2;
                city=$_.city;
                state=$_.state;
                postal_code=$_.Zip;
                country=$_.Country;
                grad_year=$_.HsGradDate;
                lead_date=$_.LeadDate;
                lead_source=$_.LeadSource;
                school_status=$_.SchoolStatus;
        }
        }
    $csv | Export-CSV C:\scripts\NewLeads$(Get-Date -Format yyyyMMdd).csv -notype -Append
...snip...

Quiero que el archivo tenga columnas en el orden que especifico en el script, pero cuando lo abro en el bloc de notas o sobresalgo, las columnas aparecen en un orden aparentemente aleatorio. La palabra clave es aparentemente ya que pueden tener algún método para ordenar ellos mismos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta