A coisa a lembrar é que tudo no PowerShell é um objeto. Quando você usa Format-Table, a saída é um objeto de formatação e é isso que está sendo transmitido para exportar CSV. Se você canalizar os resultados do comando Format-Table para Get-Member, verá o que quero dizer.
Get-ActiveSyncDevice |
Get-ActiveSyncDeviceStatistics |
sort-object status, devicetype , lastsyncattempttime |
Format-Table FirstSyncTime ,LastPolicyUpdateTime ,LastSyncAttemptTime ,LastSuccessSync , DeviceType , DeviceID, DeviceAccessState, Identity -a |
Get-Member
A saída disso será uma série de descrições de vários objetos de formatação.
Format-Table é ótimo para criar saída em sua sessão de console ou enviar saída formatada para um arquivo de texto (usando out-file), mas se mudarmos a Format-Table para Select-Object, o arquivo CSV será mais o que você espera.
Get-ActiveSyncDevice |
Get-ActiveSyncDeviceStatistics |
sort-object status, devicetype , lastsyncattempttime |
select FirstSyncTime ,LastPolicyUpdateTime ,LastSyncAttemptTime ,LastSuccessSync , DeviceType , DeviceID, DeviceAccessState, Identity |
Export-Csv c:\activesync.csv
(Nota lateral .. para pipelines longas, o caractere pipe pode ser usado como uma continuação de linha.)