1

在 PowerShell v2 中,我使用此 cmdletGet-EventLog Security | Export-csv C:\file.txt并获得以下结果。

我需要在一行中获取所有信息。在我的示例中,“消息”属性是多行的。

"538","MYPC","System.Byte[]","28330","Accesso/fine sess.","2","SuccessAudit","Fine sessione dell'utente:

    Nome utente:    myusername

    Dominio:        MYPC

    ID di accesso:  (0x0,0x58C702F)

    Tipo di accesso:    3
","Security","System.String[]","538","18/01/2013 10:35:54","18/01/2013 10:35:54","MYPC\myusername",,

我也尝试过,Format-Table但它截断了 Message 字段。

4

2 回答 2

3

select您要导出的Message字段并用其自身的损坏版本替换该字段:

Get-EventLog Security `
  | select EventId, ..., @{n='Message';e={$_.Message -replace '\s+', " "}} `
  | Export-Csv "C:\file.txt"
于 2013-01-18T14:50:37.943 回答
-1

我在上面尝试过.. 多行文本进入一行很难阅读.. 修剪非常适合我的情况。

Get-EventLog Security |
    Select EventId, ..., @{n='Message';e={$_.Message.trim()}} |
    Export-Csv "C:\file.csv"
于 2016-07-20T08:23:21.847 回答