W przypadku gdy w powershell wyświetlamy dane zawierające więcej wartości np. w listę odbiorców poczty w wynikach wyświetlanych na ekranie dane przedstawiane są poprawnie jednak w przypadku eksportu tych danych do pliku csv w takim polu otrzymujemy wartość „System.String[]”. Np. po wydaniu polecenia:
Get-MessageTrackingLog -ResultSize unlimited -Recipients '[email protected]'|select timestamp,eventid,sender,recipients,RecipientStatus,messagesubject | Export-Csv c:\temp\wynik.csv -Encoding UTF8 -NoTypeInformation
Aby w pliku csv otrzymać poprawne dane musimy nieco zmodyfikować polecenie i wykorzystać funkcję join
Get-MessageTrackingLog -ResultSize unlimited -Recipients '[email protected]'|select timestamp,eventid,sender,@{Name='recipients';Expression={[string]::join(";", ($_.recipients))}},@{Name='RecipientStatus';Expression={[string]::join(";", ($_.RecipientStatus))}},messagesubject|Export-Csv c:\temp\wynik.csv -Encoding UTF8 -NoTypeInformation
w powyższym przykładzie modyfikacji poddane zostały wartości recipients oraz RecipientStatus