Os detalhes do corpo da mensagem do evento são armazenados no XML do evento. Você pode converter o evento em XML e extrair cada um dos campos XML. O principal a ter em mente é que você deve consultar somente vários IDs de eventos quando eles compartilham um esquema comum, caso contrário, as propriedades do evento podem não ser consistentes na saída. Há um bom artigo explicando o processo e o problema do esquema de evento aqui .
Há um cmdlet no GitHub chamado Get-WinEventData que faz todo o trabalho pesado levantando para você. A saída contém propriedades para todos os campos do evento principal, como nome da máquina, nome do provedor e mensagem. Também contém propriedades para todos os dados do evento XML. Para usá-lo, basta enviar seu comando Get-WinEvent para Get-WinEventData, selecionar as propriedades desejadas e exportar para CSV. Claro que você precisará importar a função Get-WinEventData antecipadamente.
Exemplo de uso:
Get-WinEvent -FilterHashtable @{LogName="Security";Id=4624,4672;StartTime=(Get-Date).AddDays(-1)} | Get-WinEventData | Select-Object TimeCreated,Id,EventDataSubjectUserSid,EventDataSubjectUserName,EventDataSubjectDomainName,EventDataSubjectLogonId | Export-CSV "Output.csv" -NoTypeInformation